我试图绑定一个ToggleButton的IsEnabled属性没有成功。无法绑定到使用caliburn micro ToggleButton的IsEnabled属性
一旦NotifyOfPropertyChange被激发,我发现了以下异常:
Value does not fall within the expected range.
使用一个简单的按钮,上面的配置按预期工作。
我想知道是否有任何解决方法?
感谢
UPDATE:
以及我花了一段时间来查明问题,但终于明白行为:
我创建了一个简单的测试,我使用一个按钮启用/禁用ToggleButton
。
当ToggleButton
控件不包含任何东西时,所有工作都正常;然而,在添加子控件后(在我们的例子中,我只是增加了一个StackPanel
)会引发一个异常:
Value does not fall within the expected range
- 在调用NotifyOfPropertyChange()之后。
这里是有问题的看法我使用:
<StackPanel>
<ToggleButton x:Name="SayHello" Grid.Column="1" IsEnabled="{Binding HasValue}" Height="190">
<StackPanel x:Name="sp"> </StackPanel>
</ToggleButton>
<Button x:Name="Click"></Button>
</StackPanel>
的ViewModel
:
private bool _hasvalue;
public bool HasValue
{
get { return _hasvalue; }
set
{
_hasvalue = value;
NotifyOfPropertyChange(() => HasValue);
}
}
public void Click()
{
HasValue = !HasValue;
}
任何方式要解决谁的呢? - 平台是WP8。
请您在发布有关XAML,与对象/属性要绑定到一起? – philorube
控制这是你的子控件,可能是另一个控件的孩子..请检查... – Sankarann