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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top