Ich habe ein Fenster weniger WPF Hauptfenster. Ich versuche es so zu machen, dass der Endbenutzer das Fenster ziehen kann.
Ich habe Folgendes zum Konstruktor des Fensters hinzugefügt:
%Vor%Das Problem ist, ich habe ein Dialogfeld, das mit zwei Schaltflächen geöffnet wird. Wenn ich auf eine dieser Schaltflächen klicke, wird eine InvalidOperationException mit der Meldung "DragMove kann nur aufgerufen, wenn die primäre Maustaste nicht gedrückt ist" nicht behandelt.
Das wirft ein paar Fragen auf: Warum hat ein mousedown-Ereignis in einem Dialog etwas damit zu tun? Wie kann ich dies ohne diese Ausnahme tun?
Danke!
Der 'richtige' Weg, um ein randloses Fenster beweglich zu machen, ist, HTCAPTION in der WM_NCHITTEST-Nachricht zurückzugeben. Der folgende Code zeigt, wie das geht. Beachten Sie, dass Sie HTCLIENT zurückgeben möchten, wenn sich der Cursor über bestimmten visuellen Elementen Ihres Windows befindet, so dass dieser Code nur dazu dient, Sie zu starten.
%Vor%Legen Sie die MouseDown-Attributzufuhr des Fensters oder eines anderen Steuerelements fest, das Sie verwenden möchten:
%Vor%Und implementieren Sie es in den Code dahinter:
%Vor%Von: Ссылка
Es gibt ein Microsoft-Projekt, das den "fensterlosen" Stil und vieles mehr beherrscht, und es ist opensource. Vielleicht sollten Sie sich einen Blick auf Ссылка . Ich verwende eine kommerzielle Finanzanwendung und habe noch keine Probleme mit einer Windows-Version festgestellt.
Tags und Links wpf windowless