0
Blacklight是一組較舊的WPF控件和樣式。代碼可以在here找到。它包含一個名爲AnimatedExpander控制這是不是一個真正的擴展,而它只是實現HeaderedContentControl並增加了一個IsExpandedProperty dprop:無法綁定到擴展器上的IsExpanded
public static readonly DependencyProperty IsExpandedProperty =
DependencyProperty.Register("IsExpanded", typeof(bool), typeof(AnimatedExpander), new PropertyMetadata(true));
public bool IsExpanded
{
get
{
if (this.expandToggleButton != null)
{
return this.expandToggleButton.IsChecked.Value;
}
return (bool)GetValue(IsExpandedProperty);
}
set
{
SetValue(IsExpandedProperty, value);
}
}
我需要綁定爲isExpanded讓我能堅持擴展是否擴大。我很確定我的綁定安裝正確,並且這個自定義依賴屬性有問題。如果我在Snoop中打開視圖,並在擴展器上設置IsExpanded = True,則綁定起作用。但是,只需單擊控件上的expandToggleButton就可以擴展控件,但它不會打到我的綁定。
<controls:AnimatedExpander IsExpanded="{Binding SGGExpanderExpanded}" />
private bool _sGGExpanderExpanded;
public bool SGGExpanderExpanded
{
get { return _sGGExpanderExpanded; }
set
{
if (_sGGExpanderExpanded != value)
{
_sGGExpanderExpanded = value;
OnPropertyChanged("SGGExpanderExpanded");
}
}
}
如何綁定到當用戶單擊有線擴展控件的切換按鈕時更改的值?
發佈該控件的完整代碼和XAML。 – 2013-04-04 17:12:25
感謝您的關注。代碼在鏈接處可用,並且可以通過簡單地將示例AnimatedExpanders中的一個綁定到虛擬視圖模型來進行測試。 由於我提到的工作不好,我不能浪費大量時間尋找一個好的解決方案。我會盡量在週末回來尋找一個純粹的MVVM解決方案。 – JoeB 2013-04-04 18:10:12
沒錯。我幾乎可以肯定,你遇到的問題是由於該控件的不好實現。 – 2013-04-04 18:14:37