Reliure ObjectDataProvider à une propriété au lieu d'une méthode
-
13-09-2019 - |
Question
Supposons que vous ayez la classe suivante:
class ProcessController
{
public List<Process> Active { get { ... } }
...
public List<Process> GetProcesses() { ... }
}
je peux utiliser le GetMethod
pour lier un ObjectDataProvider
à la méthode de GetProcesses()
:
<ObjectDataProvider x:Key="pList"
MethodName="GetProcesses"
ObjectType="{x:Type local:ProcessController}"/>
Ma question est, puis-je lier aussi à la Active
propriété?
Si découvert que je peux faire ce qui suit:
<ObjectDataProvider x:Key="pList"
MethodName="get_Active"
ObjectType="{x:Type local:ProcessController}"/>
Mais de toute façon cela ne se sent pas bien.
Y at-il une manière plus propre ou « bonne » pour accéder à une propriété au lieu d'invoquer une méthode?
La solution
Vous n'avez pas besoin de se lier à une propriété, juste se lier à l'objet et utiliser le chemin pour accéder à la propriété
<ObjectDataProvider x:Key="pList"
ObjectType="{x:Type local:ProcessController}"/>
Autres conseils
La réponse donnée par gcores ne fonctionnera pas si la propriété est statique, que si elle est un membre de l'instance.
Joe Feser
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow