如果选中任何复选框,如何从xaml检查c#

时间:2017-06-10 23:29:57

标签: c# wpf xaml checkbox ischecked

我想启用按钮,直到所有字段都填满,我这样做但我不知道如何使用复选框。我需要至少检查其中一个,并且必须从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> 

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

1 个答案:

答案 0 :(得分: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>