2009-04-24 9 views
1

Ich versuche, eine Object zu verwenden, um die GetPositition Methode der Maus zu nennen, aber mir immer diese Fehlermeldung:WPF Object mit statischer Methode GetPosition von Maus

System.Windows.Data Fehler: 34: Object: Fehler bei dem Versuch zu Methode für Typ aufrufen; Methode = 'GetPosition'; Typ = 'Maus'; Error = 'Es wurde keine Methode mit übereinstimmender Parametersignatur gefunden.' MissingMethodException: 'System.MissingMethodException: Methode' System.Windows.Input.Mouse.GetPosition 'wurde nicht gefunden.

Dies ist mein Code im Moment:

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

mit einer einfachen Bindung:

{Binding Source = {Static odp}}

Warum ist es nicht die Methode zu finden, die Berichterstattung keine Egal was ich mache?

Antwort

0

Ich vermute, dass es die Methode nicht findet, weil Sie Methodenparameter des falschen Typs liefern. Wenn Sie sich die documentation für Mouse.GetPosition ansehen, werden Sie sehen, dass es einen Parameter vom Typ IInputElement; Sie stellen einen Parameter vom Typ Type zur Verfügung.

0

Während Sam richtig ist, war der Punkt, ob der Prozess mit einem anderen Typ oder Wert durchgeführt werden könnte.

Nach dem MSDN gibt es keine Möglichkeit, dies mit Bindung zu verwenden, obwohl ich glaube, dass Sie eine Referenz von einer Art haben könnten, die das Ergebnis stark überschattet.

Die wirkliche Antwort ist es sollte nicht getan werden.

+0

In der Tat, wie hier erklärt [http://www.thomasclaudiushuber.com/blog/2008/01/10/bind-to-methods-with-objectdataprovider/] Binding ObjectDataProvider zu statischen Methode ist möglich. –

Verwandte Themen