我正在使用 aDataGridTemplateColumn
在标题中显示一个复选框。Checkbox 用于显示是否所有单元格是checked
和(取消)选中所有单元格。
XAML:
<DataGridTemplateColumn>
<DataGridTemplateColumn.Header>
<CheckBox IsChecked="{Binding Path=DataContext.AreAllVehiclesChecked, RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl, AncestorLevel=1}}" Command="{Binding Path=DataContext.ChangeAllItemsSelectedCommand, RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl,AncestorLevel=1}}" IsThreeState="False" />
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected, Mode=TwoWay}" Command="{Binding Path=DataContext.ChangeItemSelectionCommand, RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl,AncestorLevel=1}}" CommandParameter="{Binding }"></CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
错误信息:
System.Windows.Data 错误:40:BindingExpression 路径错误:在“对象”“CheckBox”(名称=“”)上找不到“IsSearchSelected”属性。绑定表达式:路径=IsSearchSelected;DataItem='CheckBox' (Name=''); 目标元素是'CheckBox'(名称='');目标属性是“IsChecked”(类型“Nullable`1”)
System.Windows.Data 错误:40:BindingExpression 路径错误:在“对象”“CheckBox”(名称=“”)上找不到“CreateProjectFromSelectedVehiclesDemandedCommand”属性。BindingExpression:Path=CreateProjectFromSelectedVehiclesDemandedCommand;DataItem='CheckBox' (Name=''); 目标元素是'CheckBox'(名称='');目标属性是“命令”(类型“ICommand”)
让我大吃一惊的是所有单个单元格的带有 CheckBox 的 DataTemplate 工作得很好。属性和命令已正确绑定。不起作用的是标题中的复选框。我有(完全相同的结构)在另一个项目中正确运行。
任何想法我做错了什么?
更新:我今天早上又试了一次(因为使用了 snoop 等),突然 - 没有更改代码 - 它(再次)工作。这里最好的 StackOverflow 实践是什么 -> 删除问题?
再次感谢所有试图帮助我的人!