我在 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>