using Avalonia.Controls; namespace Pilz.UI.AvaloniaUI.Dialogs; public partial class AvaloniaDialogBase : Window { protected AvaloniaFlyoutBase? dialogPanel; public AvaloniaFlyoutBase DialogPanel => dialogPanel ?? throw new NullReferenceException(); public AvaloniaDialogBase() { InitializeComponent(); } public void SetContent(AvaloniaFlyoutBase content) { dialogPanel = content; dialogPanel.OnClose += DialogPanelOnOnClose; Content = content; } private void DialogPanelOnOnClose(object? sender, EventArgs e) { Close(DialogPanel.Result); } }