Encadernação ObjectDataProvider a uma propriedade em vez de um método
-
13-09-2019 - |
Pergunta
Suponha que você tenha seguinte classe:
class ProcessController
{
public List<Process> Active { get { ... } }
...
public List<Process> GetProcesses() { ... }
}
Eu posso usar o GetMethod
para vincular um ObjectDataProvider
ao método GetProcesses()
:
<ObjectDataProvider x:Key="pList"
MethodName="GetProcesses"
ObjectType="{x:Type local:ProcessController}"/>
A minha pergunta é, pode também ligar-se ao Active
propriedade?
Se descobri que eu posso fazer o seguinte:
<ObjectDataProvider x:Key="pList"
MethodName="get_Active"
ObjectType="{x:Type local:ProcessController}"/>
Mas de alguma forma isso não parece certo.
Existe alguma maneira mais limpa ou maneira "certa" para acessar uma propriedade em vez de chamar um método?
Solução
Você não precisa se ligam a uma propriedade, apenas se ligam ao objeto e use o caminho para o acesso a propriedade
<ObjectDataProvider x:Key="pList"
ObjectType="{x:Type local:ProcessController}"/>
Outras dicas
A resposta dada pelo gcores não vai funcionar se a propriedade é estático, só se for um membro de instância.
Joe Feser
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow