UpdateSourceTrigger=PropertyChanged
データグリッドのプロパティ メンバーのバインディングで使用できます。これにより、CellEditEnding が起動されたときに、更新が監視可能なコレクションに既に反映されていることが保証されます。
下記参照
<DataGrid SelectionMode="Single"
AutoGenerateColumns="False"
CanUserAddRows="False"
ItemsSource="{Binding Path=Items}" // This is your ObservableCollection
SelectedIndex="{Binding SelectedIndexStory}">
<e:Interaction.Triggers>
<e:EventTrigger EventName="CellEditEnding">
<cmd:EventToCommand PassEventArgsToCommand="True" Command="{Binding EditStoryCommand}"/> // Mvvm light relay command
</e:EventTrigger>
</e:Interaction.Triggers>
<DataGrid.Columns>
<DataGridTextColumn Header="Description"
Binding="{Binding Name, UpdateSourceTrigger=PropertyChanged}" /> // Name is property on the object i.e Items.Name
</DataGrid.Columns>
</DataGrid>
UpdateSourceTrigger = PropertyChanged は、ターゲット プロパティが変更されるとすぐにプロパティ ソースを変更します。
イベント ハンドラーを監視可能なコレクションの変更されたイベントに追加しても、コレクション内のオブジェクトの編集に対しては発生しないため、これによりアイテムへの編集をキャプチャできます。