我試圖綁定一個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