【发布时间】:2015-04-07 15:27:21
【问题描述】:
我有一个绑定到 ViewModel 可为空的布尔属性的 WPF 复选框。我在构造函数中将此属性设置为 false 或 true,以避免中间状态,但无论我做什么,复选框的初始状态都保持灰色。绑定工作得很好,因为一旦我通过单击 UI 上的复选框更改状态,我将获得控件值(真/假)。有什么想法吗?
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");
}
}
【问题讨论】:
-
它对我来说很好用。你确定绑定有效吗?你有没有在
MutualChb的setter上设置断点,看看你点击时它是否被调用? -
是的,绑定工作正常...一旦单击复选框上的 UI,我就可以获取值。(真或假)取决于大小写