Domanda

Sto tentando di usare un ObjectDataProvider per chiamare il metodo GetPositition del mouse, ma sto ottenendo questo errore:

Errore System.Windows.Data: 34: ObjectDataProvider: Tentativo non riuscito di richiamare il metodo del tipo; Method = 'getPosition'; Tipo = 'Mouse'; Errore = 'Nessun metodo è stato trovato con corrispondenti firma parametro.' MissingMethodException: 'System.MissingMethodException: Metodo ' System.Windows.Input.Mouse.GetPosition' non trovato

Questo è il mio codice in questo momento:

<ObjectDataProvider MethodName="GetPosition" ObjectType="{x:Type sys:Mouse}"  x:Key="odp">
        <ObjectDataProvider.MethodParameters>
            <x:Type TypeName="local:TestType"/>
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>

con un semplice legame:

{Binding Source = {StaticResource ODP}}

Perché è segnalando non trovare il metodo, non importa quello che faccio?

È stato utile?

Soluzione

Sto indovinando che non è trovare il metodo, perché si sta fornendo Parametri metodo del tipo sbagliato. Se si guarda il documentazione per Mouse.GetPosition, vedrai che ci vuole un parametro di tipo IInputElement ; si sta fornendo un parametro di tipo Tipo .

Altri suggerimenti

Mentre Sam è corretta, il punto è stato se il processo potrebbe essere fatto con qualsiasi altro tipo o valore presentato.

Secondo il MSDN non c'è modo di utilizzare questo con il legame, anche se credo che si potrebbe avere un punto di riferimento di una certa specie complessità altamente mette in ombra il risultato.

La vera risposta è che non dovrebbe essere fatto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top