我們有一個從DependencyObject派生的對象,並實現了一些DependencyProperties。WPF中的自定義相關屬性和雙向綁定
基本上是這樣的:
class Context : DependencyObject {
public static readonly DependencyProperty NameProperty =
DependencyProperty.Register ("Name", typeof (string), typeof (Context), new PropertyMetadata (""));
public string Name {
get {
return (string)this.GetValue (NameProperty);
}
set {
this.SetValue (NameProperty, value);
}
}
}
這個作品中,屬性是設置,可以約束等問題是當我綁定到WPF從該屬性格式,採用雙向綁定。 TwoWay部分從來沒有實際發生過,WPF從來沒有調用過這個屬性的集合。我已經把我的結合起來是這樣的:
<TextBox Text="{Binding Path=Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
在這種情況下,在文本框中應立即更新Name屬性打字,但事實並非如此。如果我將Name屬性更改爲常規POCO屬性,它將起作用(儘管TwoWay的另一側顯然不會執行INotifyPropertyChanged)。
我在這裏做錯了什麼?這應該是一件非常簡單的事情,但這會讓我頭痛不已。
哎呀,我是個白癡。你100%正確,價值本身設置正確,但是二傳手永遠不會被調用,這是通過我的。謝謝。 – 2009-04-29 17:31:10