【问题标题】:WPF Binding to my own propertyWPF绑定到我自己的财产
【发布时间】:2011-03-09 17:44:14
【问题描述】:

我创建了我自己的 UserControl,它有一些从某些东西计算出来的属性,我们称之为 Result。现在,我想将此控件放在 Grid 上,并且我有一些业务对象。我想将此对象中的属性绑定到我的属性 Result。所以我做了这样的事情:

<MyControl Result="{Binding PropertyInObject}" ...

当然 DataContext 已设置并且其他属性(wpf 属性)的绑定正在工作。但这个不是。 首先它会发出一个异常,说我不能绑定到非依赖属性。所以我把它注册为一个。现在它没有给出异常但也没有完成工作。那我该怎么办?

【问题讨论】:

    标签: wpf binding


    【解决方案1】:
    1. 您必须将 UserControl 中的 Result 属性设置为依赖属性。这样您就可以将任何值绑定到此属性。这是一个如何实现自定义Dependency Prooperty的示例
    2. 在您的业务对象中,您需要实现 INotifyPropertyChanged 以便通知您的 Result 属性您的业务对象中的任何更改。这是一个如何实现 INotifyPropertyChanged PropertyChanged event 的示例

    【讨论】:

      【解决方案2】:

      实现 INotifyPropertyChanged 接口并在进行计算后引发 PropertyChanged 事件。然后默认(双向)将控件绑定到您的属性。

      我会推荐你​​这本书来学习:Programming WPF.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-16
        • 2022-01-23
        • 1970-01-01
        • 2010-12-26
        相关资源
        最近更新 更多