我創建了一個依賴項屬性是這樣的:如何獲取/設置依賴屬性不做任何事情?
public partial class MyControl: UserControl
{
//...
public static DependencyProperty XyzProperty = DependencyProperty.Register("Xyz",typeof (string),typeof (MyControl),new PropertyMetadata(default(string)));
public string Xyz
{
get { return (string) GetValue(XyzProperty); }
set { SetValue(XyzProperty , value); }
}
//...
}
然後將其綁定到我的WPF窗口和一切工作正常。
當我試圖添加一些邏輯到設置員我注意到它沒有被調用。我修改了get;現在設置他們看起來像這樣:
get{return null;}
set{}
而且它仍然有效!怎麼來的?那個GetValue/SetValue調用有什麼用?
另請參閱[這裏](http://msdn.microsoft.com/en-us/library/bb613563.aspx#implications)爲什麼你不應該把任何額外的邏輯放入屬性包裝中。 – Clemens 2012-08-10 18:15:39