Encuadernación ObjectDataProvider a una propiedad en lugar de un método
-
13-09-2019 - |
Pregunta
Suponga que tiene clase siguiente:
class ProcessController
{
public List<Process> Active { get { ... } }
...
public List<Process> GetProcesses() { ... }
}
puedo usar el GetMethod
para enlazar un ObjectDataProvider
con el método GetProcesses()
:
<ObjectDataProvider x:Key="pList"
MethodName="GetProcesses"
ObjectType="{x:Type local:ProcessController}"/>
Mi pregunta es, ¿puedo también se unen a la propiedad Active
?
Si descubrí que puedo hacer lo siguiente:
<ObjectDataProvider x:Key="pList"
MethodName="get_Active"
ObjectType="{x:Type local:ProcessController}"/>
Sin embargo, de alguna manera esto no se siente bien.
¿Hay alguna manera más limpia o "correcta" para acceder a una propiedad en lugar de invocar un método?
Solución
No es necesario para unirse a una propiedad, simplemente enlazar con el objeto y utilizar la ruta de acceso a la propiedad
<ObjectDataProvider x:Key="pList"
ObjectType="{x:Type local:ProcessController}"/>
Otros consejos
La respuesta dada por gcores no funcionará si la propiedad es estática, sólo si es un miembro de instancia.
Joe Feser
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow