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

3

Suppose you have following class:

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

我可以使用GetMethod方法将ObjectDataProvider绑定到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个回答

9
给出的答案只适用于属性是实例成员,如果是静态成员则不起作用。

8
您不需要绑定到一个属性,只需绑定到对象并使用路径访问属性。
<ObjectDataProvider x:Key="pList"
                    ObjectType="{x:Type local:ProcessController}"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接