MaterialDesignInXAML / MaterialDesignInXAML/MaterialDesignInXamlToolkit
Nested dialog not visible after closing and reopening parent dialog
Personne n'a encore pris cette issue.
- Langage dominant
- C#
- Étoiles
- 16.3k
- Forks
- 3.5k
- Merge moyen
- 1 j 22 h
- PR mergées (30 j)
- 8
Description
### Bug explanation
When you close a parent dialog which has a nested dialog open, the nested dialog becomes invisible the next time you open the parent dialog, it prevents all input because only the nested dialog `PART_ContentCoverGrid` is visible:
https://github.com/user-attachments/assets/dab526c5-eae5-4ee2-98a3-2b884cadb849
This seems to work fine with `TransitionAssist.DisableTransitions="True"`:
https://github.com/user-attachments/assets/034231da-d54e-48c3-b3d8-89cd2375fa1d
Steps:
* Open `Root` dialog
* `Root` dialog opens `Inner` dialog
* Close `Root` dialog
* Reopen `Root` dialog
```csharp
public RootDialog RootDialog { get; } = new();
public MainWindow()
{
InitializeComponent();
_ = Application.Current.Dispatcher.InvokeAsync(async () =>
{
await Delay();
_ = DialogHost.Show(RootDialog);
await Delay();
RootDialog.OpenInnerDialog();
await Delay();
DialogHost.GetDialogSession(null)!.Close();
await Delay();
_ = DialogHost.Show(RootDialog);
});
static Task Delay() => Task.Delay(2000);
}
```
I'm not sure if this is even desired behavior, I assumed that all nested dialogs would close when parent is closed.
Hope I described the issue clearly, its a little bit hard to explain.
### Version
5.1.0
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par reproduire la séquence décrite dans l’issue avec DialogHost.Show, une boîte de dialogue imbriquée et les transitions activées ; comparez-la avec TransitionAssist.DisableTransitions="True". Suivez l’état de DialogHost et de la boîte de dialogue imbriquée pendant la fermeture et la réouverture de la boîte de dialogue parente, puis vérifiez que la boîte de dialogue parente rouverte ne laisse plus uniquement PART_ContentCoverGrid visible et ne bloque plus les entrées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- csharp
- Domaine
- desktop
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100