如何在WPF中启用“未选中”复选框
本文关键字:未选中 复选框 启用 WPF | 更新日期: 2023-09-27 18:27:24
我正在使用一些代码隐藏来取消选中一个禁用的Checkbox
。
当未选中此Checkbox
时,我需要启用它,并使用XAML执行此操作。
我做这个
<CheckBox Margin="10,320,427,0" Name="chkIsDefault"
IsEnabled="{Binding IsChecked, ElementName=Self, Mode=OneWay}"
IsChecked="{Binding IsDefault, Mode=TwoWay}" />
但它不起作用。有线索吗?
如果您想直接绑定到同一对象的另一个属性,请使用RelativeSource=Self
<CheckBox ... IsEnabled="{Binding IsChecked, RelativeSource={RelativeSource Self}, Mode=OneWay}"/>
但由于您想要反转行为(选中时禁用),您可以修改绑定以使用自定义IValueConverter
,但我建议使用简单的Trigger
代替
<CheckBox IsChecked="{Binding IsDefault, Mode=TwoWay}">
<CheckBox.Style>
<Style TargetType="{x:Type CheckBox}">
<Setter Property="IsEnabled" Value="True"/>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="IsEnabled" Value="False"/>
</Trigger>
</Style.Triggers>
</Style>
</CheckBox.Style>
</CheckBox>