我尝试根据数据库数据在WPF数据网格单元格中仅选中“一对”复选框。
我创建了带有来自数据库的列表的复选框列表,并且当我在单元格上处于编辑模式时,该列表就会出现。目前,我只能全部检查或不检查。
这是我要在其中显示复选框的列中的XAML代码。
plot.add_layout(LinearAxis(), 'left')
plot.add_layout(LinearAxis(), 'right')
最后,我想要一个带有类和一个适用于Teacher的列的DataGrid。我希望能够将多个老师与班级联系起来。当我在单元格上进入编辑模式时,我希望能够显示我数据库中所有老师的名字(因此我不知道他们,也不知道数量),并且仅检查与班级相关的人从我继续的那一行。
要关联多名老师和全班老师,我的数据库中有一张表格,其中包含老师ID和班级ID。
谢谢。
更新
在您的帮助下,我取得了一些成就。我已经创建了一个“教师”类,其名称和一个布尔值“ IsCheck”。
在我的对象“班级”中,现场教师列出一个列表。我为每个班级创建了每个列表,并将IsCheck设置为适当的Teacher。
在我的XAML中,将复选框DataTemplate的源设置为此教师列表。
<DataGridTemplateColumn Header="Teacher" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding TeacherName}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{StaticResource TeacherList}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding}" IsChecked="False"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
答案 0 :(得分:0)
这样做的时候
<CheckBox Content="{Binding}" IsChecked="False"/>
您没有将IsChecked绑定到任何东西。 因此,无论您使用该复选框做什么,我都不会坚持到底。 p>
您应该使教师成为至少具有两个公共属性的班级。字符串名称和布尔检查。 Give Checked的默认值为false。还应该实现inotifypropertychanged。
将标记更改为:
<CheckBox Content="{Binding Name}" IsChecked="{Binding Checked, Mode=TwoWay"/>
执行此操作后,您应该可以选中和取消选中每个教师,并且该复选框将保留在该复选框绑定的“教师(实例)”中。
顺便说一句。
这种用户界面设计似乎有点奇怪。
更常见的一种设计是具有一个类的列表框。选择一个,所选的类将用于驱动您在另一个列表框中看到的内容。
这将在另一个列表框中为您提供单独的教师列表。