Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Wpf:复选框三个状态设置不确定状态和绑定_C#_Wpf_Xaml_Mvvm - Fatal编程技术网

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

C# Wpf:复选框三个状态设置不确定状态和绑定,c#,wpf,xaml,mvvm,C#,Wpf,Xaml,Mvvm,我有这个复选框 <CheckBox IsChecked="{Binding Foo}" IsThreeState="True"></CheckBox> 这里有两个问题。首先,您没有调用OnPropertyChanged()。需要调用另一个,即Foo属性需要为null 所以它可能看起来像: private bool? _foo; puclic bool? Foo { get=> _foo; set { _foo = value;

我有这个复选框

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

这里有两个问题。首先,您没有调用OnPropertyChanged()。需要调用另一个,即Foo属性需要为null

所以它可能看起来像:

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

当您将Foo属性的类型设置为bool时,是否更改viewmodel中Foo的默认值?(=nullable boolean),应该能用。请布鲁诺你能读懂我编辑的答案吗。我是C#和Xaml的新手,我不确定什么是可空布尔类型。好了,伙计们,谢谢你们!如果你想发布解决方案,我会接受。如果不是,我将发布我自己的解决方案。是的,我必须声明可为空的布尔值。谢谢你的评论。正如GCamel和Bruno V所提到的,在初始化component()方法声明之前,我必须在MainWindowsView.xaml.cs构造函数中设置默认值。
 <CheckBox IsChecked="{Binding Foo, x:Null}" IsThreeState="True" ></CheckBox>
private Boolean foo;
public Boolean Foo
{
    get { return foo; }
    set
    {
        foo = value;
    }
}
private bool? _foo;
puclic  bool? Foo
{
    get=> _foo;
    set {
       _foo = value;
       OnPropertyChanged();
    }
}