[ad_1]
チェックボックス列と許可列の 2 つの列を持つ DataGrid があります。 新しいモードでは、ユーザーがヘッダーのすべてのチェックボックスを選択すると、すべての子のチェックボックスが選択され、その逆も同様です (このロジックは現在機能しています)。 編集モードでは、アプリケーションはすべての権限が選択されているかどうかを確認し、チェックボックスもすべて選択されています。 現在、コード ビハインドで bool 変数 is IsCheckAll を定義し、すべての権限が選択されている場合は True を設定し、この変数を次のコードとしてバインドしていますが、機能していません。
マイ XAML
HTML
<DataGrid x:Name="grPermission" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" IsReadOnly="True" AutoGenerateColumns="False" > <DataGrid.RowStyle> <Style TargetType="DataGridRow"> </Style> </DataGrid.RowStyle> <DataGrid.Columns> <DataGridTemplateColumn Width="40"> <DataGridTemplateColumn.HeaderTemplate> <DataTemplate> <CheckBox x:Name="CheckBoxAllPermission" IsChecked="{Binding IsCheckAll}" Checked="CheckAllPermisson" Unchecked="UnCheckAllPermisson"> </CheckBox> </DataTemplate> </DataGridTemplateColumn.HeaderTemplate> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <CheckBox x:Name="CheckBoxPermission" IsChecked="{Binding Path=CheckBox, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"> </CheckBox> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> <DataGridTextColumn Header="Permission" Binding="{Binding PermissionName}" Width="*" /> </DataGrid.Columns> </DataGrid>
コードビハインド
C#
public bool IsCheckAll { get; set; } // do some code IsCheckAll = lstPermissions.Any(x => x.CheckBox == false) ? false : true; grPermission.ItemsSource = lstPermissions;
私が試したこと:
誰かが解決策を見つけて、それを解決するように教えてくれませんか。
[ad_2]
コメント