WPF Erzwingt, dass MouseDevice gedrückt wird

8

Ich habe ein Windows-Formular in einem WPF-Fenster, und ich versuche, DragMove zu verwenden, wenn ich auf das Windows-Formular klicke, es ist eine Picturebox, also möchte ich das Fenster einfach durch Klicken auf das Bild ziehen können .

Ich fange die Maus meines Formulars und w \ u00e4hle das W \ u00f6ffenfenster des Mauspfeiles mit:

%Vor%

Wenn ich jedoch den InputManager.Current.PrimaryMouseDevice von meinem Handler (oder dem MouseMove-Handler meines Formulars) überprüfe, wird der Status des LeftButtons "freigegeben".

Warum ist das? Ich kann mir nicht vorstellen, wie man es "drücken" kann, da alle Eigenschaften schreibgeschützt sind.

Oder ist mein Ansatz einfach falsch und nicht möglich? Ich habe auch versucht, den Standort meines Fensters bei der Mausbewegung festzulegen, aber es passiert etwas seltsames, wo meine Mauswerte immer wieder an die vorherige Position zurückkehren.

Danke!

edit: Also stelle ich die Fensterposition manuell ein, hoffe aber immer noch, dass mir jemand erklären kann, warum MouseDevice nicht auf ein Windows-Formular gedrückt wird. Das "seltsame Zeug passiert ..." war nur ein dummer Fehler meinerseits, ich setzte die Mauskoordinaten bei der Mausbewegung zurück, erkannte aber, dass meine Maus sich nie relativ zum Fenster bewegt, da sich auch das Fenster bewegt, duh! p>     

mmod 28.10.2010, 17:44
quelle

1 Antwort

1

Ein ähnliches Problem hat mich für eine Weile überrascht: den ButtonState Die Eigenschaft von MouseButtonEventArgs spiegelt den Echtzeitstatus dieser Schaltfläche wider, nicht einen Status-Snapshot, der beim Auslösen des Ereignisses erstellt wurde. Ich frage mich, ob das gleiche gilt für den Zugriff auf LeftButton.

Hoffe, das hilft,
Ben

    
Ben Gribaudo 28.10.2010 18:00
quelle

Tags und Links