title: My ViewModel does not provide current variable value
body: <p><strong>[EDIT]</strong> Example reprodoucing this issue <a href="https://dl.dropboxusercontent.com/u/113376/IssueExample.zip" rel="nofollow" title="HostToAddInIssue">Host to AddIn issue</a></p>
  
  <p>I'm trying to write a host application which is extendable and uses few interfaces. One of them is </p>
  
  <pre><code>public MessageCreator GetMessageCreator()
  {
   var creator = new AVL2MessageCratorFactory();
   return creator.Create(new AVL2DataForMessageCreatingImpl { Imei = VM.Imei });
  }
  </code></pre>
  
  <p>from AddIn and below you can find XAML of AddIn guest application:</p>
  
  <pre><code>&lt;UserControl
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:AVL2SimulatorAddView="clr-namespace:AVL2SimulatorAddView" x:Class="AVL2SimulatorAddView.AVL2AddInUI"&gt;
  
  &lt;Grid Height="46" Width="344"&gt;
      &lt;Grid.DataContext&gt;
          &lt;AVL2SimulatorAddView:AVL2ViewModel x:Name="VM" /&gt;
      &lt;/Grid.DataContext&gt;
      &lt;Label Content="Starting IMEI" Margin="0,0,255,0" Height="29" VerticalAlignment="Top" /&gt;
      &lt;TextBox Text="{Binding Path=Imei,  UpdateSourceTrigger=PropertyChanged }" Margin="120,2,48,0" Width="176" Height="27" VerticalAlignment="Top" /&gt;
  &lt;/Grid&gt;
  </code></pre>
  
  <p></p>
  
  <p>Imei property from ViewModel</p>
  
  <pre><code>using System.ComponentModel;
  
  namespace AVL2SimulatorAddView
  {
   public class AVL2ViewModel : INotifyPropertyChanged
   {
      readonly AVL2Model _avl2Model = new AVL2Model();
  
      public string Imei
      {
          get { return _avl2Model.Imei; }
          set
          {
              if (value == _avl2Model.Imei) return;
              _avl2Model.Imei = value;
              OnPropertyChanged("Imei");
          }
      }
  
      public event PropertyChangedEventHandler PropertyChanged;
  
      protected virtual void OnPropertyChanged(string propertyName)
      {
          var handler = PropertyChanged;
          if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
      }
    }
  }
  </code></pre>
  
  <p>in debug mode I see that property in ViewModel is updated every character is written inside TextBox, but when GetMessageCreator() from Host application is called it seems like new, empty VM and its Imei is returned (I do not see Imei on Host aplication side)</p>
  
  <p>Am I missing some protection in .Net against bypassing bound data? Other "hardcoded" strings are passing well. MVVM and DataContext on Host Application side works well also. I tried different types of UpdateSourceTrigger, but it always seems to work on AddIn side, and it does not provide current date to shared interface.</p>
  
  <p>[EDIT]
  Other control bound to Imei, display the changes on-line, when data is entered in textbox</p>
  
  <p>Calling local button set properly the label content</p>
  
  <pre><code>private void button1_Click(object sender, RoutedEventArgs e)
  {
    label1.Content = VM.Imei;
  }
  </code></pre>
  
  <p>Temporary calling method from Host application</p>
  
  <pre><code>var msgCreator = _tabsMap[(TabItem) tabControl1.SelectedItem].GetMessageCreator();
  </code></pre>