我们有一个从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