WPF ObjectDataProvider com GetPosition método estático de rato
-
16-09-2019 - |
Pergunta
Eu estou tentando usar um ObjectDataProvider para chamar o método GetPositition de Mouse, mas estou recebendo este erro:
System.Windows.Data de erro: 34: ObjectDataProvider: Falha tentando invocar o método do tipo; Método = 'GetPosition'; Type = 'Mouse'; Erro = 'Nenhum método foi encontrado com correspondência assinatura parâmetro.' MissingMethodException: 'System.MissingMethodException: Método ' System.Windows.Input.Mouse.GetPosition' não encontrada
Este é meu código no momento:
<ObjectDataProvider MethodName="GetPosition" ObjectType="{x:Type sys:Mouse}" x:Key="odp">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="local:TestType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
com a ligação de um simples:
{Binding Source = {StaticResource odp}}
Por que é relatórios não encontrar o método não importa o que eu faço?
Solução
Eu estou supondo que ele não está encontrando o método, porque você está fornecendo Método Parâmetros do tipo errado. Se você olhar para o documentação para Mouse.GetPosition, você verá que leva um parâmetro do tipo IInputElement ; você está fornecendo um parâmetro do tipo Digite .
Outras dicas
Enquanto Sam está correto, o ponto foi se o processo poderia ser feito com qualquer outro tipo ou valor apresentado.
De acordo com o MSDN não existe uma maneira de usar este com a ligação, embora eu acredito que você poderia ter uma referência de algum tipo a complexidade altamente ofusca o resultado.
A verdadeira resposta é que não deve ser feito.