title: Binding with custom object in MVVM textbox
body: <p>I have started learning MVVM with some basic applications and I just encountered below issue with binding.</p>
  
  <p>I have 2 textboxes in my View say- Student_name and Student_year. I have a Student class implemented in my viewmodel with its properties.  But, the actual Student class is in my Model layer. </p>
  
  <pre><code>&lt;TextBox x:Name="StuName" 
  Text="{Binding Path=MyStudent.Name, Mode=TwoWay,
  UpdateSourceTrigger=PropertyChanged}" /&gt;   
  
  
  &lt;TextBox x:Name="StuYear" 
  Text="{Binding Path=MyStudent.Year, Mode=TwoWay,
  UpdateSourceTrigger=PropertyChanged}" /&gt;
  </code></pre>
  
  <p>ViewModel:</p>
  
  <pre><code>private Student _myStudent = new Student();
  
  public Student MyStudent
   {
     get { return _myStudent ; }
     set
      {
       if (value != _myStudent )
        {
         _myStudent = value;
         OnPropertyChanged("MyStudent");                       
        }
      }
  }
  </code></pre>
  
  <p>Model (Student Class):</p>
  
  <pre><code>public string Name
    {
     get { return _name; }
      set
      {
       if (_name!= value)
       {
        _name= value;      
        OnPropertyChanged("Name");
        }
      }
     }
  </code></pre>
  
  <p>I can see everything working fine on binding the values from VM to View. But, the other way is behaving little tricky here..</p>
  
  <p>Wheneven I change Name/Year in the textbox, the control has to land on Viewmodel's Set property? Rather, it straight away goes to Model's Set property. </p>
  
  <p>For Instance, When I modify txtbox 'StuName', SET method of Student class is invoked. But not SET method of Viewmodel(MyStudent object).</p>
  
  <p>I am not sure why this behaves in such a way. Is it because I have directly bounded Student.Name to the textbox? What are the alternatives to handle this SET operation in Viewmodel class..</p>
  
  <p>Thanks in advance. </p>
  
  <p>PS: I have implemented INotifyPropertyChanged interface properly and rest other bindings(of primitive data type) are working fine with other controls.  </p>