【问题标题】:How do you set the initial state of a checkbox in WPF (either in XAML or code)?如何在 WPF 中设置复选框的初始状态(在 XAML 或代码中)?
【发布时间】:2011-03-07 03:16:08
【问题描述】:

我在一个表单上有两个简单的相关控件,一个delete 按钮和一个confirm delete 复选框。

这个想法是为了防止意外删除(不用担心,稍后会添加撤消),但如果用户愿意,仍然允许用户在不烦人的确认的情况下删除。

但是,我希望设置复选框的初始状态。 XAML 代码当前为:

<CheckBox Margin="0 5 0 0"
          x:Name="chkConfirmDel"
          Checked="chkConfirmDel_Change">
    Confirm delete?
</CheckBox>

但在 XAML 或 Window_Loaded() 代码中,我看不到任何用于强制初始状态的明显属性。

【问题讨论】:

    标签: c# wpf xaml checkbox


    【解决方案1】:

    IsChecked="True"

    【讨论】:

    • 在代码中将是 CheckBox cb = new CheckBox() ; cb.IsChecked = true ;
    【解决方案2】:

    XAML:

    <!-- Initialized checked -->
    <CheckBox x:Name="cbxSwitch" IsChecked="True" Content="Simple switch" />
    
    <!-- Initialized in third state -->
    <CheckBox x:Name="cbxSwitch3" Content="3 state switch"
        IsThreeState="True" IsChecked="{x:Null}" />
    

    CS:

    // Two-state CheckBox doesn't require checking null
    if (cbxSwitch.IsChecked == true)
    {
        // Do something if selected
    }
    
    // In three-state CheckBox, IsChecked may be true, false or null
    if (cbxSwitch3.IsChecked ?? false)
    {
        // Do something only if IsChecked==true (selected)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-07
      • 2016-10-15
      • 1970-01-01
      • 2010-11-19
      • 2018-07-04
      • 2017-06-09
      • 2017-12-08
      • 2011-06-25
      相关资源
      最近更新 更多