0
我可能會這樣做都是錯誤的......所以與我掛在一起做WPF綁定繞過依賴性屬性的代碼隱藏setter?
我正在用戶可以綁定到一個屬性的用戶控件。在屬性的setter中,我將PropertyChanged偵聽器綁定到屬性,以便對其狀態的更改作出反應。此用戶控件後面的代碼看起來是這樣的:
public static readonly DependencyProperty NodeProperty =
DependencyProperty.Register("Node", typeof(MockRequirementWrapper), typeof(RecNode2));
public MockRequirementWrapper Node
{
get
{
return (MockRequirementWrapper)GetValue(NodeProperty);
}
set
{
if(Node != null)
Node.PropertyChanged -= Update;
SetValue(NodeProperty, value);
Node.PropertyChanged += new PropertyChangedEventHandler(Update);
OnPropertyChanged(this, "Node");
}
}
然後在另一個用戶控件,我綁定到這個屬性我在其他地方創造了這樣一個節點:
<local:RecNode2 Node="{Binding}"/>
我是什麼發現是recnode存在並且綁定到一個節點上......但是如果我在setter中放置了一個斷點,它永遠不會被調用。我誤解了這個綁定是如何工作的?如何在節點更改時添加偵聽器?