Wpf 设置datagrid中每行的复选框值
我的datagrid中的每一行都有一个复选框:Wpf 设置datagrid中每行的复选框值,wpf,checkbox,binding,datagrid,Wpf,Checkbox,Binding,Datagrid,我的datagrid中的每一行都有一个复选框: <DataGrid.Columns> <DataGridTextColumn Binding="{Binding Number}" Header="Name"/> <DataGridTemplateColumn Header="Watched"> <DataGridTemplateColumn.CellTemplate> <DataTemplate
<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中的每一行设置复选框的值?创建一个实现INotifyPropertyChanged的类(我们现在称之为MyObject)。在MyObject中创建一个类型为bool的名为“Watched”的属性。在setter中,引发属性更改事件。如果希望网格在任何人调用setter时反映对数据的任何更改,则这是必需的
创建一个名为WatchedList的MyObject集合。现在,在数据库中的“foreach”项中,向WatchedList添加一个新对象,以反映数据库中的值
然后在XAML中,在数据网格上设置ItemsSource=“{Binding WatchedStatuses}”
然后,您可以从代码中获取WatchedList中每个项目的Watched值 您已经通过绑定实现了这一点。您不需要在WPF中“foreach a DataGrid”,原因很简单。迭代数据项并修改
wasted
属性。