Schließen-Schaltfläche in WPF-Fenstern ausblenden
Frage: Wie kann ich die Schließen-Schaltfläche in einem WPF-Fenster ausblenden? unter Beibehaltung einer normalen Titelleiste?
WPF verfügt nicht über eine integrierte Option zum Entfernen der Schaltfläche „Schließen“ aus dem Titel eines Fensters Bar. Dies kann jedoch mit P/Invoke erreicht werden:
Code:
private const int GWL_STYLE = -16; private const int WS_SYSMENU = 0x80000; [DllImport("user32.dll", SetLastError = true)] private static extern int GetWindowLong(IntPtr hWnd, int nIndex); [DllImport("user32.dll")] private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); // In the Window's Loaded event var hwnd = new WindowInteropHelper(this).Handle; SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
Dieser Code verbirgt die Schaltfläche zum Schließen zusammen mit dem Fenstersymbol und dem Systemmenü.
Hinweis: Bei diesem Ansatz wird nur die Schaltfläche ausgeblendet. Das Fenster kann weiterhin über Tastaturkürzel oder durch Schließen der Anwendung geschlossen werden.
Um zu verhindern, dass das Fenster geschlossen wird, wenn ein Hintergrundthread ausgeführt wird, überschreiben Sie die OnClosing-Methode und setzen Sie Cancel auf true:
protected override void OnClosing(CancelEventArgs e) { e.Cancel = true; }
Das obige ist der detaillierte Inhalt vonWie kann ich die Schaltfläche „Schließen' in einem WPF-Fenster ausblenden und dabei die beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!