WPF绑定复选框bool?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF绑定复选框bool?相关的知识,希望对你有一定的参考价值。

我有一个绑定到ViewModel可以为空的布尔属性的WPF复选框。我在构造函数中将此属性设置为false或true,以避免Interminent状态,但无论我做什么,复选框的初始状态保持灰色。绑定工作正常,因为一旦我通过单击UI上的复选框更改状态,我将获得控件值(true / false)。有任何想法吗?

XAML:

<CheckBox Margin="0,4,0,3"
          VerticalAlignment="Center"
          Content="Mutual"
          IsChecked="{Binding MutualChb}" />

视图模型:

public ContstrutorViewModel()
{
    MutualChb = true;
}

private bool? _mutualChb;
public bool? MutualChb
{
    get { return _mutualChb; }
    set
    { 
        _mutualChb = value; 
        _mutualChb = ( _mutualChb != null ) ? value : false;
        OnPropertyChanged("MutualChb");
    }
}
答案

原因是因为它最初为空。

private bool? _mutualChb;
public bool? MutualChb
{
    get { return (_mutualChb != null ) ? _mutualChb : false; }
    set
    { 
        _mutualChb = value;               
        OnPropertyChanged("MutualChb"); 
    }
}

以上是关于WPF绑定复选框bool?的主要内容,如果未能解决你的问题,请参考以下文章

WPF MVVM模式如何控制DataGrid的列隐藏和显示

Angular 2 Reactive Forms 复选框 - 将 Bool 绑定到数字

WPF MVVM中的绑定复选框问题

wpf 4.0 datagrid模板列双向绑定问题

如何将 Dictionary<enum, bool> 双向绑定到 WPF 中的 ListView 列?

WPF 复选框绑定