1

我打算在 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>

我可以在设置器上设置一个断点,当我单击网格外的复选框时它会被击中,但如果我单击标题中的复选框则不会。

为什么标题中的那个不起作用,修复起来是否简单?

谢谢!

4

0 回答 0