我在数据网格中的foreach行中有一个复选框:
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Number}" Header="Name"/>
<DataGridTemplateColumn Header="Watched">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox x:Name="checkWatched" IsChecked="{Binding Path=Watched, Mode=TwoWay}" Click="checkWatched_Click" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
我的数据库包含复选框的值(true或false)。 如何在datagrid中设置行的复选框的值?
答案 0 :(得分:0)
创建一个实现INotifyPropertyChanged的类(我们现在称之为MyObject)。在MyObject中创建一个名为“Watched”的bool类型的属性。在setter中,提升您的属性更改事件。如果您希望网格在任何人调用setter时反映数据的任何更改,则必须执行此操作。
创建一个名为WatchedList的MyObject集合或其他。现在,在数据库中使用“foreach”项,向WatchedList添加一个新对象,反映数据库中的值。
然后在您的XAML中,在DataGrid上设置ItemsSource = "{Binding WatchedStatuses}"
。
然后,您可以从后面的代码中获取WatchedList中每个项目的Watched值。