【发布时间】:2014-03-05 22:40:09
【问题描述】:
我创建了一个使用实体框架和 WPF 的 UI 的 .NET 项目。 UI 包含一个包含两列的 DataGrid,一列是普通只读的DataGridTextColumn,另一列是DataGridTemplateColumn,里面有一个Checkbox,可实现单击编辑:
<DataGrid AutoGenerateColumns="False" EnableRowVirtualization="True" ItemsSource="{Binding}" >
<DataGrid.Columns>
<DataGridTemplateColumn >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelectedForDisplay}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Binding="{Binding FullName}" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
我已经通过直接更改数据库中的一些条目来检查复选框的绑定是否有效。现在我希望应用程序立即将对选择复选框的更改提交到底层数据库。我怎么能这样做?向视图逻辑添加一些事件处理程序感觉不对,但我不确定我有什么替代方案。
【问题讨论】:
-
我不知道更多,但您应该使用 UpdateSourceTrigger 到 PropertyChanged 以获取 IsChecked 属性。
-
我不认为可以自动更新数据库。您必须使用“已检查”事件并调用数据库更新,或者使用实现 INotifyPropertyChanged 的类并通过单击按钮处理更新。
标签: c# wpf entity-framework