MaterialDesignInXAML / MaterialDesignInXAML/MaterialDesignInXamlToolkit

DialogHost nested z-order changes when application loses focus

Offen
#3,284 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug
Vorherrschende Sprache
C#
Sterne
16.3k
Forks
3.5k
Ø Merge
1 T. 22 Std.
Gemergte PRs (30 T.)
8

Beschreibung

Bug explanation

I am nesting dialoghosts so that I can stack sub dialogs. It works great for our application.

<materialDesign:DialogHost Identifier="SubDialog" CloseOnClickAway="True">
    <materialDesign:DialogHost Identifier="RootDialog" DialogTheme="Inherit" CloseOnClickAway="True">

The issue I've found is when the application (MainWindow) loses focus to another Windows application, the z-order of the dialogs is changed and the dialog that was in front is sent to the back. This often hides the sub dialog and if CloseOnClickAway is false, then the user can get stuck.

Version

4.9.0

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, das im Issue gezeigte verschachtelte DialogHost-Setup zu reproduzieren, bei dem MainWindow den Fokus an eine andere Windows-Anwendung verliert. Verfolge, wie verschachtelte DialogHost-Instanzen die z-order und den Fokus verwalten, und überprüfe anschließend, dass der zuvor im Vordergrund befindliche Unterdialog sichtbar und verwendbar bleibt, nachdem der Fokus zurückkehrt, auch wenn CloseOnClickAway false ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
desktop
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.