title: WPF Listview + GridView - View not Updating
body: <p>I have got a Listview Item with a Gridview Child, bound to a List of Objects.
  Below the Gridview I have got texboxes to edit the content of the Gridview (bound to the Gridview).
  I can add new content (which is displayed in the GridView).
  When i edit content, it is in fact edited (in the object list) but not displayed in the Gridview (the GridView does not seem to update)</p>
  
  <p>xaml code:</p>
  
  <pre><code>&lt;!-- ========= --&gt;
  &lt;!-- root Grid --&gt;
  &lt;!-- ========= --&gt;
  &lt;Grid x:Name="root" Margin="10,10,10,10"&gt;
      &lt;Grid.RowDefinitions&gt;
          &lt;RowDefinition Height="*" /&gt;
          &lt;RowDefinition Height="25" /&gt;
          &lt;RowDefinition Height="25" /&gt;
          &lt;RowDefinition Height="40" /&gt;
      &lt;/Grid.RowDefinitions&gt;
      &lt;Grid.ColumnDefinitions&gt;
          &lt;ColumnDefinition Width="40" /&gt;
          &lt;ColumnDefinition Width="*" /&gt;
      &lt;/Grid.ColumnDefinitions&gt;
      &lt;!-- ========= --&gt;
      &lt;!-- Data Grid --&gt;
      &lt;!-- ========= --&gt;
      &lt;ListView x:Name="dataGrid" Grid.Row="0" Grid.ColumnSpan="2" ItemsSource="{Binding}"&gt;
          &lt;ListView.View&gt;
              &lt;GridView&gt;
                  &lt;!-- first solution --&gt;
                  &lt;GridViewColumn x:Name="gridColumnName" Header="Name" Width="160"&gt;
                      &lt;GridViewColumn.CellTemplate&gt;
                          &lt;DataTemplate&gt;
                              &lt;ContentControl Content="{Binding Path=Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" /&gt;
                          &lt;/DataTemplate&gt;
                      &lt;/GridViewColumn.CellTemplate&gt;
                  &lt;/GridViewColumn&gt;
                  &lt;!-- second solution --&gt;
                  &lt;GridViewColumn x:Name="gridColumnPath" Header="Path" DisplayMemberBinding="{Binding Path=Path}" Width="490" /&gt;
              &lt;/GridView&gt;
          &lt;/ListView.View&gt;
      &lt;/ListView&gt;
  
      &lt;!-- ========= --&gt;
      &lt;!-- Edit Menu --&gt;
      &lt;!-- ========= --&gt;
      &lt;Label Content="Name:" Grid.Row="1" Grid.Column="0" VerticalAlignment="Bottom" HorizontalAlignment="Left"/&gt;
      &lt;TextBox x:Name="txtBoxName" Grid.Row="1" Grid.Column="1" Width="250" VerticalAlignment="Bottom" HorizontalAlignment="Left" 
               DataContext="{Binding ElementName=dataGrid, Path=SelectedItem}" 
               Text="{Binding Path=Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" /&gt;
  
      &lt;Label Content="Path:" Grid.Row="2" Grid.Column="0" VerticalAlignment="Bottom" HorizontalAlignment="Left" /&gt;
      &lt;TextBox x:Name="txtBoxPath" Grid.Row="2" Grid.Column="1" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" 
               DataContext="{Binding ElementName=dataGrid, Path=SelectedItem}" 
               Text="{Binding Path=Path, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" /&gt;
  </code></pre>
  
  <p>Object List class:</p>
  
  <pre><code>class ItemList : ObservableCollection&lt;LdapItem&gt;
  {
      public ItemList()
          : base()
      { 
      }
  }
  </code></pre>
  
  <p>Object class:</p>
  
  <pre><code>class LdapItem : INotifyPropertyChanged
  {
      #region constructor
  
      public LdapItem(String name, String path)
      {
          this.iD = Guid.NewGuid().ToString();
          this.name = name;
          this.path = path;
      }
  
      #endregion
  
      #region public proterties
  
      public String ID
      {
          get { return iD; }
      }
  
      public String Name
      {
          get { return name; }
          set { name = value; }
      }
  
      public String Path
      {
          get { return path; }
          set { path = value; }
      }
  
      #endregion
  
      #region public methods
  
      public void OnPropertyChanged(string prop)
      {
          if (PropertyChanged != null)
              PropertyChanged(this, new PropertyChangedEventArgs(prop));
      }
  
      #endregion
  
      #region private variables
  
      private String name = String.Empty;
      private String path = String.Empty;
      private String iD = String.Empty;
  
      #endregion
  
      public event PropertyChangedEventHandler PropertyChanged;
  }
  </code></pre>
  
  <p>any ideas why updating the GridView doesnt work?</p>