title: WPF binding, when the reference of object changes
body: <p>code snippet:</p>
  
  <p>xaml</p>
  
  <pre><code>&lt;TextBlock Grid.Row="0"  Text="{Binding Path=NodeType}"&gt;&lt;/TextBlock&gt;
  &lt;Button Name="bt" Grid.Row="1" Click="bt_Click"&gt;click&lt;/Button&gt;
  </code></pre>
  
  <p>c#</p>
  
  <pre><code>public FamilyMemberInfo MemberInfo;
  public MainWindow()
  {
      InitializeComponent();
  
      MemberInfo = new FamilyMemberInfo();
      MemberInfo.NodeType = "aa";
      this.DataContext = MemberInfo;
  }
  private void bt_Click(object sender, RoutedEventArgs e)
  {
      //MemberInfo.NodeType = "bb";
      FamilyMemberInfo mi2 = new FamilyMemberInfo();
      mi2.NodeType = "bb";
      MemberInfo = mi2; 
  }
  </code></pre>
  
  <p>If I change the NodeType to 'bb', the textblock is changed too, but if I create a bland new object and set the property NodeType to 'bb', then assign it to MemberInfo, the textblock is not updated. could anyone explain that for me? thanks in advance.</p>
  
  <p>And say that the class 'FamilyMemberInfo' has 20 properties, all are binding with elements(textblock, combobox, etc) on the UI, and I get an instance of FamilyMemberInfo from some other place, I want to simply assign it to the MemberInfo as code above to make the UI update accordingly, how to make it work?</p>
  
  <p>Thanks.</p>