2

我正在使用 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 实践是什么 -> 删除问题?

再次感谢所有试图帮助我的人!

4

0 回答 0