关于C#:数据网格复选框禁用密钥的未选中选项

Data grid checkbox disable un-checked option for key

我正在使用DataGrid,并且有一列带有Checkbox。我希望每当有键时,该复选框将被禁用,以使用户无法取消选中它。
我的视图模型中有一个名为IsKeyINotifyPropertyChanged的属性。我该怎么办?

IsChecked绑定是启动时已检查所有Checkboxes
DataGrid和用户可以取消选中行,除了键...

1
2
3
4
5
6
<DataGridTemplateColumn.CellTemplate>
   <DataTemplate>
      <CheckBox x:Name="CheckBox"
          IsChecked="{Binding IsChecked, UpdateSourceTrigger=PropertyChanged}"/>
   </DataTemplate>
</DataGridTemplateColumn.CellTemplate>


假定IsKeybool,则可以使用Style.Triggers,因此,当IsKey为true时,将IsEnabled设置为false:

1
2
3
4
5
6
7
8
9
10
11
<CheckBox x:Name="CheckBox" IsChecked="{Binding IsChecked, UpdateSourceTrigger=PropertyChanged}">
    <CheckBox.Style>
        <Style TargetType="{x:Type CheckBox}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=IsKey}" Value="True">
                    <Setter Property="IsEnabled" Value="False"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </CheckBox.Style>
</CheckBox>