DataGrid とオブジェクトの間に双方向バインディングがあります。ユーザーが保存ボタンをクリックしたときに、DataGrid で行われた変更のみをオブジェクトに保存したいと考えています。最初のステップとして、UpdateSourceTrigger=Explicit を設定します。そのプロパティを明示的に設定してもバインドが発生しないと予想していましたが (まだ UpdateSource() を呼び出していないため)、予想に反して、プログラムを閉じて再起動すると、変更がオブジェクトにバインドされます。
変更がオブジェクトの設定にまだバインドされているのはなぜですか?
私のxamlファイルからの関連するDataGridコードは次のとおりです。
<DataGrid x:Name="DataGrid1" IsReadOnly="False"
AutoGenerateColumns="False" CanUserAddRows="False" SelectionUnit="Cell"
ItemsSource="{Binding data}">
<DataGrid.DataContext>
<Binding Source="{StaticResource myData}" UpdateSourceTrigger="Explicit"/>
</DataGrid.DataContext>
<DataGrid.Columns>
<DataGridTextColumn Header="Field" Binding="{Binding Path=name, Mode=TwoWay,
UpdateSourceTrigger=Explicit}" Width="Auto"/>
<DataGridTextColumn Header="Length of Field" Binding="{Binding Path=length, Mode=TwoWay,
UpdateSourceTrigger=Explicit}" Width="Auto"/>
</DataGrid.Columns>
</DataGrid>