Heim > Backend-Entwicklung > C++ > So blenden Sie die Schaltfläche „Schließen' in einem WPF-Fenster aus und behalten dabei die

So blenden Sie die Schaltfläche „Schließen' in einem WPF-Fenster aus und behalten dabei die

Patricia Arquette
Freigeben: 2025-01-02 16:23:38
Original
958 Leute haben es durchsucht

How to Hide the Close Button in a WPF Window While Keeping the

Ausblenden der Schaltfläche „Schließen“ in WPF-Fenstern

In WPF erfordert die Erstellung modaler Dialoge ein Fenster ohne Schaltfläche „Schließen“ und gleichzeitig eine sichtbare Titelleiste . Trotz der Untersuchung von Eigenschaften wie ResizeMode, WindowState und WindowStyle erfüllt keine von ihnen diesen spezifischen Bedarf.

Um dieses Problem zu beheben, können Sie P/Invoke verwenden, um den Stil des Fensters zu manipulieren und das gewünschte Verhalten zu erreichen. So geht's:

  1. Fügen Sie die folgenden Deklarationen zu Ihrer Window-Klasse hinzu:

    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);
    Nach dem Login kopieren
  2. Fügen Sie dies in das Loaded-Ereignis des Fensters ein Code:

    var hwnd = new WindowInteropHelper(this).Handle;
    SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
    Nach dem Login kopieren

Durch die Ausführung dieses Codes wird das erfolgreich ausgeblendet Schließen-Schaltfläche aus der Titelleiste, um ein intuitiveres modales Dialogerlebnis zu gewährleisten.

Wichtige Überlegungen:

Während diese Lösung die Schließen-Schaltfläche optisch verbirgt, verhindert sie dies nicht Benutzer daran hindern, das Fenster über Tastaturkürzel (z. B. Alt F4) oder über die Taskleiste zu schließen. Um ein vorzeitiges Schließen des Fensters zu verhindern, sollten Sie das OnClosing-Ereignis überschreiben und „Cancel“ auf „true“ setzen.

Das obige ist der detaillierte Inhalt vonSo blenden Sie die Schaltfläche „Schließen' in einem WPF-Fenster aus und behalten dabei die. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage