【问题标题】:Binding ObjectDataProvider to a property instead of a method将 ObjectDataProvider 绑定到属性而不是方法
【发布时间】:2009-04-21 22:29:29
【问题描述】:

假设你有以下课程:

class ProcessController
{
    public List<Process> Active { get { ... } }
    ...
    public List<Process> GetProcesses() { ... }
}

我可以使用GetMethodObjectDataProvider 绑定到GetProcesses() 方法:

<ObjectDataProvider x:Key="pList"
                    MethodName="GetProcesses"
                    ObjectType="{x:Type local:ProcessController}"/>

我的问题是,我也可以绑定到属性Active吗?

如果发现我可以执行以下操作:

<ObjectDataProvider x:Key="pList"
                    MethodName="get_Active"
                    ObjectType="{x:Type local:ProcessController}"/>

但不知何故,这感觉不对。

是否有一些更简洁或“正确”的方式来访问属性而不是调用方法?

【问题讨论】:

    标签: wpf binding objectdataprovider


    【解决方案1】:

    如果属性是静态的,gcores给出的答案将不起作用,只有当它是实例成员时。

    【讨论】:

      【解决方案2】:

      你不需要绑定到属性,只需绑定到对象并使用Path来访问属性

      <ObjectDataProvider x:Key="pList"
                          ObjectType="{x:Type local:ProcessController}"/>
      

      【讨论】:

        猜你喜欢
        • 2018-05-13
        • 1970-01-01
        • 2013-05-04
        • 2012-07-08
        • 1970-01-01
        • 2014-08-04
        • 2020-06-04
        • 1970-01-01
        • 2011-09-14
        相关资源
        最近更新 更多