我打算在 gridviewcolumn(header) 中添加 Checkbox,但由于我实际上是在问另一个问题,所以我觉得有必要发布一个新帖子。
我发现我也可以做 Haris Hasan 用 Telerik 展示的东西:
<telerik:GridViewDataColumn IsReadOnly="False">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelectedInUI, Mode=TwoWay}" />
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
<telerik:GridViewDataColumn.Header>
<CheckBox IsChecked="{Binding AreAllSelected}"/>
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
但是,我遇到的问题是当我单击复选框时,我的 AreAllSelected 属性没有更改。我也试过
<CheckBox IsChecked="{Binding AreAllSelected, Mode=TwoWay}"/>
这是 ViewModel 中的属性:
public bool AreAllSelected
{
get { return _areAllSelected; }
set
{
if (value == _areAllSelected) return;
_areAllSelected = value;
}
}
我在网格之外还有另一个复选框,单击该属性确实会成功设置该复选框。它看起来像这样:
<CheckBox IsChecked="{Binding AreAllSelected}">Check/Uncheck All Items</CheckBox>
我可以在设置器上设置一个断点,当我单击网格外的复选框时它会被击中,但如果我单击标题中的复选框则不会。
为什么标题中的那个不起作用,修复起来是否简单?
谢谢!