【问题标题】:WPF - How to implement INotifyPropertyChanged when Properties are dynamicWPF - 如何在属性为动态时实现 INotifyPropertyChanged
【发布时间】:2009-03-01 04:48:03
【问题描述】:

我有一个实现 PropertyObjects 集合的业务对象。

业务对象 一些收藏 Property1Object(名称=高度) Property2Object(名称=宽度)

目前,我将 UserControl 的 DataContext 设置为 BusinessObject。我发现我可以使用类似这样的方式在绑定中引用集合,比如在文本框中..

UserControl.DataContext = 业务对象 用户控件文本块 Text="{Binding Collection[Height].Value}"

现在,我可以在什么级别正确实现 INotifyPropertyChanged,即使在更高级别它根本不是属性。

很容易看到并提升最低级别的 PropertyObject,但这是否足以让绑定起作用?

谢谢, 杰夫

【问题讨论】:

    标签: .net wpf


    【解决方案1】:

    如果我的理解正确,Collection 数组中的每个对象都有一个名为 Value 的属性,这就是您的UserControl 中的TextBlock 中显示的内容。只要数组中的每个对象都实现INotifyPropertyChanged,并在Value 的值发生变化时触发事件,TextBlock 中的文本就会更新(您可能需要将BindingMode 更改为TwoWay 为好吧,不过我不确定)。

    【讨论】:

      【解决方案2】:

      如果你是假的实现自己的集合,你需要实现 INotifyCollectionChanged (http://msdn.microsoft.com/en-us/library/system.collections.specialized.inotifycollectionchanged.aspx)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-05
        • 1970-01-01
        • 2011-06-08
        • 2010-10-04
        • 2010-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多