【问题标题】:Data grid checkbox disable un-checked option for key数据网格复选框禁用键的未选中选项
【发布时间】:2014-06-11 20:48:39
【问题描述】:

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

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

<DataGridTemplateColumn.CellTemplate>
   <DataTemplate>
      <CheckBox x:Name="CheckBox" 
          IsChecked="{Binding IsChecked, UpdateSourceTrigger=PropertyChanged}"/>
   </DataTemplate>
</DataGridTemplateColumn.CellTemplate>

【问题讨论】:

  • 在转换器的帮助下更新 IsEnabled 属性。

标签: c# wpf xaml mvvm checkbox


【解决方案1】:

假设IsKeybool 你可以使用Style.Triggers 所以当IsKey 为真时将IsEnabled 设置为假:

<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>

【讨论】:

  • 完美..我喜欢它:)
猜你喜欢
  • 2017-12-13
  • 1970-01-01
  • 2012-03-04
  • 2011-11-06
  • 2020-03-22
  • 1970-01-01
  • 1970-01-01
  • 2021-04-17
  • 1970-01-01
相关资源
最近更新 更多