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

How to check from xaml if any of the checkbox is checked c#

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

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

您需要一个 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>