MahApps.Metro icon indicating copy to clipboard operation
MahApps.Metro copied to clipboard

Dialog not shown if tab is dragged out (Dragablz/TabablzControl)

Open BornToBeRoot opened this issue 2 years ago • 1 comments

Describe the bug

I'm not sure if this is a bug in mahapps or a problem with the implementation.

I use the dragablz:TabablzControl and if i drag out a tab, i can't open a dialog in this window.

Steps to reproduce

MahApps_DialogCoordinator

I tried to update the DialogCoordinator when the tab was dragged out, but it doesn't work: https://github.com/BornToBeRoot/NETworkManager/pull/2517/files

Expected behavior

Dialog should open.

Actual behavior

Nothing. No Dialog, No log, no crash...

Edit: I now get sometimes this error: System.InvalidOperationException: "Context is not inside a MetroWindow."

Environment

MahApps.Metro version: v2.4.10
Windows build number: Win10 22H2 22621.2134
Target Framework: .NET 6

BornToBeRoot avatar Oct 06 '23 22:10 BornToBeRoot

I maybe found a workaround.

Instead of doing it like this...

return _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);

I can find the parent window (that is currently active) and use it as context.

var window = Application.Current.Windows.OfType<Window>().FirstOrDefault(x => x.IsActive);

return _dialogCoordinator.ShowMetroDialogAsync(window, customDialog);

Inside the parent Window the dialog needs to be registered. Not just in the View&ViewModel

xmlns:dialogs="clr-namespace:MahApps.Metro.Controls.Dialogs;assembly=MahApps.Metro"
dialogs:DialogParticipation.Register="{Binding}"

BornToBeRoot avatar Mar 26 '24 19:03 BornToBeRoot