如果未选中复选框,如何启用控件?

L. *_*age 0 wpf xaml

我知道Control如果CheckBox未选中,则可以禁用 a ,通常我是这样做的:

<CheckBox x:Name="myCheckBox" />
<Button IsEnabled="{Binding ElementName=myCheckBox, Path=IsChecked}" />
Run Code Online (Sandbox Code Playgroud)

这将Button仅在CheckBox选中时启用,但有一种方法Xaml可以启用Button如果CheckBox未选中而无需创建任何Converter?

伪代码:

<CheckBox x:Name="myCheckBox" />
<Button IsEnabled="{Binding ElementName=myCheckBox, Path=IsUnChecked}" />
Run Code Online (Sandbox Code Playgroud)

此致。

Cle*_*ens 5

您可以将 Binding 与 DataTrigger 一起使用:

<CheckBox x:Name="myCheckBox"/>
<Button x:Name="button">
    <Button.Style>
        <Style TargetType="Button">
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsChecked, ElementName=myCheckBox}"
                             Value="True">
                    <Setter Property="IsEnabled" Value="False"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>
Run Code Online (Sandbox Code Playgroud)

  • 如果没有绑定转换器,您将无法缩短它。 (2认同)