Binding ObjectDataProvider a una proprietà, invece di un metodo
-
13-09-2019 - |
Domanda
Supponiamo di avere classe seguente:
class ProcessController
{
public List<Process> Active { get { ... } }
...
public List<Process> GetProcesses() { ... }
}
posso usare il GetMethod
per associare un ObjectDataProvider
al metodo GetProcesses()
:
<ObjectDataProvider x:Key="pList"
MethodName="GetProcesses"
ObjectType="{x:Type local:ProcessController}"/>
La mia domanda è, posso anche legarsi alla Active
immobile?
Se scoperto che posso fare quanto segue:
<ObjectDataProvider x:Key="pList"
MethodName="get_Active"
ObjectType="{x:Type local:ProcessController}"/>
Ma in qualche modo questo non mi sembra giusto.
C'è un modo più pulito o modo "giusto" per accedere a una proprietà invece di invocare un metodo?
Soluzione
Non è necessario associare a una proprietà, solo legarsi l'oggetto e utilizzare il percorso per accedere alla proprietà
<ObjectDataProvider x:Key="pList"
ObjectType="{x:Type local:ProcessController}"/>
Altri suggerimenti
La risposta data da gcores non funziona se la proprietà è statico, solo se si tratta di un membro di istanza.
Joe Feser
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow