将ObjectDataProvider绑定到属​​性而不是方法

时间:2009-04-21 22:29:30

标签: wpf binding objectdataprovider

假设您有以下课程:

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}"/>

但不知怎的,这感觉不对。

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

2 个答案:

答案 0 :(得分:9)

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

Joe Feser

答案 1 :(得分:8)

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

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