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

The*_*rff 3 wpf binding objectdataprovider

假设您有以下课程:

class ProcessController
{
    public List<Process> Active { get { ... } }
    ...
    public List<Process> GetProcesses() { ... }
}
Run Code Online (Sandbox Code Playgroud)

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

<ObjectDataProvider x:Key="pList"
                    MethodName="GetProcesses"
                    ObjectType="{x:Type local:ProcessController}"/>
Run Code Online (Sandbox Code Playgroud)

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

如果发现我可以做以下事情:

<ObjectDataProvider x:Key="pList"
                    MethodName="get_Active"
                    ObjectType="{x:Type local:ProcessController}"/>
Run Code Online (Sandbox Code Playgroud)

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

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

joe*_*ser 9

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

乔费瑟


gco*_*res 8

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

<ObjectDataProvider x:Key="pList"
                    ObjectType="{x:Type local:ProcessController}"/>
Run Code Online (Sandbox Code Playgroud)