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