我有一个实现PropertyObjects集合的业务对象。
BusinessObject的 SomeCollection Property1Object(Name = Height) Property2Object(Name = Width)
目前,我将UserControl的DataContext设置为BusinessObject。我发现我可以用这样的东西引用到绑定中的集合,比如说在textBox中。
UserControl.DataContext = BusinessObject UserControl.TextBlock Text =“{Binding Collection [Height] .Value}”
现在,我可以在什么级别正确实现INotifyPropertyChanged,即使在更高级别它根本不是属性。
很容易看到并提升最低级别的PropertyObject,但这足以让绑定工作吗?
谢谢, 杰夫
答案 0 :(得分:1)
如果我理解正确,Collection
数组中的每个对象都有一个名为Value
的属性,这就是TextBlock
UserControl
中显示的属性。只要数组中的每个对象都实现INotifyPropertyChanged
,并在Value
的值发生更改时触发事件,TextBlock
中的文本就会更新(您可能需要更改{{ 1}}到BindingMode
,我也不确定。)
答案 1 :(得分:0)
如果你是假的实现自己的集合,你需要实现INotifyCollectionChanged(http://msdn.microsoft.com/en-us/library/system.collections.specialized.inotifycollectionchanged.aspx)