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();
}
}