我打算添加到Checkbox in gridviewcolumn(header),但由于我实际上在问另一个问题,我觉得这需要一个新帖子。
我发现我也可以做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>
我可以在setter上设置一个断点,当我点击网格外的复选框时会触发该断点,但如果单击标题中的复选框则不会。
为什么标题中的那个没有工作,修复起来很简单?
谢谢!