complete avalonia flyouts

This commit is contained in:
2025-11-11 16:43:21 +01:00
parent 593cdfb92c
commit 71d27c1061
4 changed files with 39 additions and 45 deletions

View File

@@ -1,5 +1,3 @@
using System;
using System.Threading.Tasks;
using Avalonia.Controls;
namespace Pilz.UI.AvaloniaUI.Dialogs;
@@ -8,12 +6,12 @@ public partial class AvaloniaDialogBase
{
public static T Show<T>(string? title, object? icon, object? tag = null) where T : AvaloniaFlyoutBase
{
return Show(CreatePanelInstance<T>(tag), title, icon);
return Show(AvaloniaFlyoutBase.CreatePanelInstance<T>(tag), title, icon);
}
public static Task<T> ShowDialog<T>(Window parent, string? title, object? icon, object? tag = null) where T : AvaloniaFlyoutBase
{
return ShowDialog(CreatePanelInstance<T>(tag), parent, title, icon);
return ShowDialog(AvaloniaFlyoutBase.CreatePanelInstance<T>(tag), parent, title, icon);
}
public static T Show<T>(T dialogPanel, string? title, object? icon) where T : AvaloniaFlyoutBase
@@ -28,13 +26,6 @@ public partial class AvaloniaDialogBase
return dialogPanel;
}
internal static T CreatePanelInstance<T>(object? tag) where T : AvaloniaFlyoutBase
{
var dialogPanel = Activator.CreateInstance<T>();
dialogPanel.Tag = tag;
return dialogPanel;
}
internal static AvaloniaDialogBase CreateForm<T>(T dialogPanel, string? title, object? icon, WindowStartupLocation startPosition) where T : AvaloniaFlyoutBase
{
var dialog = new AvaloniaDialogBase