Mam okno formularza w oknie wpf, i próbuję użyć DragMove
po kliknięciu formularza okna, to picturebox, więc chcę być w stanie przeciągnąć okno po prostu klikając na zdjęcie.WPF Forced MouseDevice ma być wciśnięty
łapię myszy moja forma w dół i podnieść zdarzenie mouseleftbuttondown tego okna WPF jest z:
if (e.Button == MouseButtons.Left)
{
MouseDevice mouseDev = InputManager.Current.PrimaryMouseDevice;
MouseButtonEventArgs mouseEvent = new MouseButtonEventArgs(mouseDev, 0, MouseButton.Left)
{
RoutedEvent = MouseLeftButtonDownEvent
};
RaiseEvent(mouseEvent);
}
Jednak ilekroć sprawdzić InputManager.Current.PrimaryMouseDevice od mojego przewodnika (lub moja forma jest mouseMove obsługi), przy czym LeftButton użytkownika stan jest "zwolniony".
Dlaczego tak jest? Nie potrafię wymyślić sposobu, aby zmusić go do "wciśnięcia", ponieważ wszystkie właściwości są tylko do odczytu.
Czy moje podejście jest po prostu błędne i nie jest możliwe? Próbowałem także ustawić położenie mojego okna na ruch myszy, ale niektóre dziwne rzeczy dzieją się tam, gdzie moje wartości myszy wracają do poprzedniej pozycji.
Dzięki!
edytuj: Tak więc ręcznie dopasowuję położenie okna, ale wciąż mam nadzieję, że ktoś może mnie poinformować, dlaczego MouseDevice nie zostanie naciśnięty na formularzu okna. "Dziwne rzeczy się zdarzają ..." był po prostu głupim błędem z mojej strony, ciągle resetowałem współrzędne myszy na ruch myszki, ale zdałem sobie sprawę, że moja mysz nigdy nie porusza się względem okna, ponieważ okno też się porusza, duh!
No niezupełnie; Ponieważ klikam i przeciągam, stan na żywo powinien być "wciśnięty" po trafieniu zdarzenia MouseDown, jednak nie jest wciśnięty. Być może ma to związek z formularzami okien. Kiedy klikam poza moją formą, mówi mi, że mysz jest wciśnięta, ale jeśli kliknę w środku formularza, nie jest. – mmod