2009-04-21 7 views
3

Sie Angenommen, haben folgende Klasse:Bindung Object auf eine Eigenschaft anstelle einer Methode

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

ich die GetMethod können eine ObjectDataProvider, um die GetProcesses() Methode zu binden:

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

Meine Frage ist, kann ich auch an die Eigenschaft Active binden?

Wenn herausgefunden, dass ich folgendes tun:

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

Aber irgendwie funktioniert das nicht richtig anfühlen.

Gibt es einen saubereren Weg oder "richtigen" Weg, um auf eine Eigenschaft zuzugreifen, anstatt eine Methode aufzurufen?

Antwort

8

Sie brauchen nicht auf eine Eigenschaft zu binden, binden nur an das Objekt und verwenden Sie den Pfad auf die Eigenschaft zuzugreifen

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

Die Antwort von gcores gegeben wird nicht funktionieren, wenn die Eigenschaft statisch ist, nur wenn es ein Instanzmitglied ist.

Joe Feser

Verwandte Themen