我有一個自定義依賴屬性定義,像這樣:WPF依賴項屬性不工作
public static readonly DependencyProperty MyDependencyProperty =
DependencyProperty.Register(
"MyCustomProperty", typeof(string), typeof(MyClass));
private string _myProperty;
public string MyCustomProperty
{
get { return (string)GetValue(MyDependencyProperty); }
set
{
SetValue(MyDependencyProperty, value);
}
}
現在我嘗試設置該屬性在XAML
<controls:TargetCatalogControl MyCustomProperty="Boo" />
但在DependencyObject的二傳手從來沒有被擊中!雖然它會在我將屬性更改爲常規屬性時使用,而不是Dep支持方案
嗨基恩,在你的第一個鏈接沒有「構造函數」來調用,它解釋了「DependencyProperty.Register方法」,這是我使用的。你發佈了錯誤的鏈接嗎?在你的第二個鏈接是關於PropertyChangedCallback,這是否解決了我的問題?我的副總裁安裝員沒有被調用,這是我遇到的問題! – Bob 2010-12-06 16:59:40
我的意思是註冊方法,而不是構造函數。不應該調用setter,您正在使用DP,並且必須遵循提供的鏈接中描述的模式。 WPF不會調用你的setter,它會使用SetValue:你必須提供一個PropertyMetadata對象,當它改變你的值時,它將被WPF調用。 – 2010-12-16 11:24:30