0

我想启用按钮,直到所有字段都被填满并且我做到了,但我不知道如何使用复选框来做到这一点。我需要至少检查其中一个,并且必须从 xaml 而不是后面的代码完成。如果有人可以提供帮助,我将不胜感激。

这是我的 xaml 代码:

<Button.Style>
            <Style TargetType="{x:Type Button}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Text.Length, ElementName=firstname, UpdateSourceTrigger=PropertyChanged}" Value="0">
                        <Setter Property="IsEnabled" Value="False"/>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding Text.Length, ElementName=lastname, UpdateSourceTrigger=PropertyChanged}" Value="0">
                        <Setter Property="IsEnabled" Value="False"/>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding Text.Length, ElementName=username, UpdateSourceTrigger=PropertyChanged}" Value="0">
                        <Setter Property="IsEnabled" Value="False"/>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding Text.Length, ElementName=password, UpdateSourceTrigger=PropertyChanged}" Value="0">
                        <Setter Property="IsEnabled" Value="False"/>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding IsChecked, ElementName=scientist}" Value="false">
                        <Setter Property="IsEnabled" Value="False"/>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding IsChecked, ElementName=writer}" Value="false">
                        <Setter Property="IsEnabled" Value="False"/>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding IsChecked, ElementName=programmer}" Value="false">
                        <Setter Property="IsEnabled" Value="False"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Button.Style> 

编辑:这将仅在选中所有复选框时启用按钮,但我需要在至少选中其中一个复选框时启用它。

4

1 回答 1

0

你需要一个 MultiDataTrigger...

            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding IsChecked, ElementName=scientist}" Value="false"/>
                    <Condition Binding="{Binding IsChecked, ElementName=writer}" Value="false"/>
                    <Condition Binding="{Binding IsChecked, ElementName=programmer}" Value="false"/>
                </MultiDataTrigger.Conditions>
                <Setter Property="IsEnabled" Value="False"/>
            </MultiDataTrigger>
于 2017-06-11T12:11:21.920 回答