C# XAML WPF复选框验证

C# XAML WPF复选框验证,c#,wpf,xaml,checkbox,C#,Wpf,Xaml,Checkbox,我有一个复选框的列表。我希望用户在单击“下一步”按钮之前至少选择一个 我希望按钮保持启用状态,但使用复选框下方的文本块显示至少选择一个复选框的提示 我怎么能检查呢 代码: XAML 您还可以根据一个复选框的示例执行以下操作: XAML 自己想想如何考虑选中与未选中的几个复选框,您还可以使用复选框事件处理程序处理未选中的事件:unchecked=“CheckBox1\u OnUnchecked”可能重复的 <CheckBox x:Name="CheckBox1" Content="Chec

我有一个
复选框的列表
。我希望用户在单击“下一步”按钮之前至少选择一个

我希望
按钮
保持启用状态,但使用
复选框下方的
文本块
显示至少选择一个
复选框的提示

我怎么能检查呢

代码:

XAML


您还可以根据一个
复选框的示例执行以下操作:

XAML

自己想想如何考虑选中与未选中的几个复选框,您还可以使用
复选框
事件处理程序处理
未选中的
事件:
unchecked=“CheckBox1\u OnUnchecked”

可能重复的
<CheckBox x:Name="CheckBox1"  Content="CheckBox1" />
<CheckBox x:Name="CheckBox2"  Content="CheckBox2" />
<CheckBox x:Name="CheckBox3"  Content="CheckBox3" />
<CheckBox x:Name="CheckBox4"  Content="CheckBox4" />

<Button x:Name="NextButton" Click="NextButton_Click"/>
private void NextButton_Click(object sender, RoutedEventArgs e) {
    if (CheckBox1.IsChecked ?? false) {
        // do something
    }
   // same for other checkBoxes
}
private void NextButton_Click(object sender, RoutedEventArgs e) 
{
    if (!CheckBox1.IsChecked && !CheckBox2.IsChecked && !CheckBox3.IsChecked && !CheckBox4.IsChecked)
    {
        // update TextBlock to alert the user 
    }
    else 
    {
        if (CheckBox1.IsChecked) 
        {
            // do something
        }
       // same for other checkboxes
    }
}
<CheckBox x:Name="CheckBox1"  Content="CheckBox1" Checked="CheckBox1_OnChecked"/>
// after all your CheckBoxes insert TextBlock below
// which is Visible by default (but invisible once any CheckBox is checked)
<TextBlock x:Name="TextBlock" Visibility="Visible" Text="Please, select at least 1 checkbox"/>
<Button x:Name="NextButton" Click="NextButton_Click" Height="Auto" Width="Auto" Content="Button"/>
private void NextButton_Click(object sender, RoutedEventArgs e)
{
    // your code
}

// We make Visibility of TextBox hidden
// Think for yourself how to take into account
// several CheckBoxes checked vs unchecked
private void CheckBox1_OnChecked(object sender, RoutedEventArgs e)
{
    TextBlock.Visibility = Visibility.Hidden;
}