Wpf:复选框三个状态设置不确定状态和绑定

时间:2018-04-12 14:02:03

标签: c# wpf xaml mvvm

我有这个复选框

<CheckBox IsChecked="{Binding Foo}" IsThreeState="True"></CheckBox>

如果我想将默认状态设置为不确定,我的复选框将类似于:

<CheckBox IsChecked="{x:Null}" IsThreeState="True" ></CheckBox> 

现在我想将绑定和设置组合成不确定状态。 所以我的复选框就是这样的:

 <CheckBox IsChecked="{Binding Foo, x:Null}" IsThreeState="True" ></CheckBox>

你能帮我解决这个问题吗?

编辑:在我的MainWindows.xaml.cs中我有Foo属性的代码

private Boolean foo;
public Boolean Foo
{
    get { return foo; }
    set
    {
        foo = value;
    }
}

1 个答案:

答案 0 :(得分:1)

这里有2个问题。首先,你没有打电话给OnPropertyChanged()INotifyPropertyChanged需要被称为另一个,Foo属性需要可以为空。

所以它可能看起来像:

private bool? _foo;
puclic  bool? Foo
{
    get=> _foo;
    set {
       _foo = value;
       OnPropertyChanged();
    }
}