2009-04-21 34 views
3

假设有下面的类:绑定ObjectDataProvider的一个属性,而不是一个方法

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

我可以使用GetMethod绑定一个ObjectDataProviderGetProcesses()方法:

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

我的问题是,我还可以绑定到属性Active

如果发现我能做到以下几点:

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

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

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

回答

8

你不需要绑定到一个属性,只需绑定到对象,并使用路径来访问属性

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

通过gcores给出的答案是行不通的,如果属性是静态的,只如果它是一个实例成员。

Joe Feser

相关问题