5 Stimmen

Wenn wir den Befehl eines MouseBinding nicht binden können, was sollen wir dann tun?

Ich würde gerne ein normales Auto benutzen können. MouseBinding um ein CTRL-Klick-Ereignis auf meinem TextBlock . Leider ist die Command Eigenschaft ist keine Abhängigkeitseigenschaft und ich verwende MVVM, also kann ich sie nicht an mein Viewmodel binden.

Wie konnte Microsoft diese grundlegende Funktion auslassen? Gibt es keine einfache Möglichkeit, STRG-Klicks zu erkennen und sie an einen Befehl in meinem Viewmodel zu binden?

6voto

sourcenouveau Punkte 27697

Ich glaube, ich bezog mich ursprünglich auf die Verwendung von TextBlock 's InputBindings Mitglied.

In .NET 4 InputsBinding s erben nun von Freezable so dass nun die Command Eigenschaft ist Abhängigkeitseigenschaft (siehe Unterstützung von Bindungen in InputBindings ), die Lösung des Problems der Bindung.

Wenn Sie mit .NET 3.5 nicht weiterkommen, können Sie einige angehängte Eigenschaften für jede Art von Ereignis erstellen, die Sie wünschen. In Ihrem OnCommandChanged Funktion fügen Sie den Event-Handler hinzu, und filtern Sie auf der Grundlage von Modifikatoren (wie der Control Taste oder die Taste ClickCount ) in Ihrem PropertyChangedCallback Methode.

3voto

Pete OHanlon Punkte 9009

Sie können auch versuchen, die Angehängte Befehlsverhaltensweisen .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X