avalonia: DefaultPadding

This commit is contained in:
2025-11-12 10:16:38 +01:00
parent 71d27c1061
commit efebfc3c9d
4 changed files with 14 additions and 9 deletions

View File

@@ -4,6 +4,8 @@ namespace Pilz.UI.AvaloniaUI.Dialogs;
public partial class AvaloniaDialogBase public partial class AvaloniaDialogBase
{ {
public static int DefaultPadding { get; set; } = 3;
public static T Show<T>(string? title, object? icon, object? tag = null) where T : AvaloniaFlyoutBase public static T Show<T>(string? title, object? icon, object? tag = null) where T : AvaloniaFlyoutBase
{ {
return Show(AvaloniaFlyoutBase.CreatePanelInstance<T>(tag), title, icon); return Show(AvaloniaFlyoutBase.CreatePanelInstance<T>(tag), title, icon);
@@ -33,6 +35,7 @@ public partial class AvaloniaDialogBase
Title = title, Title = title,
Icon = icon as WindowIcon, Icon = icon as WindowIcon,
WindowStartupLocation = startPosition, WindowStartupLocation = startPosition,
Padding = new(DefaultPadding),
}; };
dialog.SetContent(dialogPanel); dialog.SetContent(dialogPanel);
return dialog; return dialog;

View File

@@ -7,6 +7,10 @@ namespace Pilz.UI.AvaloniaUI.Dialogs;
public partial class AvaloniaFlyoutBase public partial class AvaloniaFlyoutBase
{ {
public static IImage? DefaultCancelImage { get; set; }
public static IImage? DefaultConfirmImage { get; set; }
public static int DefaultPadding { get; set; } = 3;
public static Task Show<T>(ContentControl owner, object? tag = null) where T : AvaloniaFlyoutBase public static Task Show<T>(ContentControl owner, object? tag = null) where T : AvaloniaFlyoutBase
{ {
return Show(CreatePanelInstance<T>(tag), owner); return Show(CreatePanelInstance<T>(tag), owner);
@@ -47,18 +51,19 @@ public partial class AvaloniaFlyoutBase
var parentContent = owner.Content; var parentContent = owner.Content;
var dh = new DialogHost var dh = new DialogHost
{ {
Identifier = "FlyoutDialogIdentifier" + Guid.NewGuid() DialogMargin = new(DefaultPadding),
Identifier = "FlyoutDialogIdentifier" + Guid.NewGuid(),
}; };
owner.Content = null; owner.Content = null;
dh.Content = parentContent; dh.Content = parentContent;
dh.CloseOnClickAway = content.CancelButtonVisible && content.RegisterDialogCancel; dh.CloseOnClickAway = content.CancelButtonVisible && content.RegisterDialogCancel;
dh.CloseOnClickAwayParameter = "FlyoutDialogIdentifier_Cancel"; dh.CloseOnClickAwayParameter = "FlyoutDialogIdentifier_Cancel";
dh.DialogClosing += (ss, ee) => dh.DialogClosing += (_, ee) =>
{ {
if (ee.Parameter?.ToString() == "FlyoutDialogIdentifier_Cancel") if (ee.Parameter?.ToString() == "FlyoutDialogIdentifier_Cancel")
content.Close(null); content.Close(null);
}; };
content.OnClose += (s, e) => content.OnClose += (s, _) =>
{ {
if (s is AvaloniaFlyoutBase flyout if (s is AvaloniaFlyoutBase flyout
&& flyout.FindAncestorOfType<DialogHost>() is && flyout.FindAncestorOfType<DialogHost>() is

View File

@@ -13,9 +13,6 @@ public partial class AvaloniaFlyoutBase : UserControl
public delegate void OnCloseEventHandler(object? sender, EventArgs e); public delegate void OnCloseEventHandler(object? sender, EventArgs e);
public event OnCloseEventHandler? OnClose; public event OnCloseEventHandler? OnClose;
public static IImage? CancelImage { get; set; } = null;
public static IImage? ConfirmImage { get; set; } = null;
public static readonly StyledProperty<object?> MainContentProperty = AvaloniaProperty.Register<AvaloniaFlyoutBase, object?>(nameof(MainContent)); public static readonly StyledProperty<object?> MainContentProperty = AvaloniaProperty.Register<AvaloniaFlyoutBase, object?>(nameof(MainContent));
public static readonly StyledProperty<object?> FooterContentProperty = AvaloniaProperty.Register<AvaloniaFlyoutBase, object?>(nameof(FooterContent)); public static readonly StyledProperty<object?> FooterContentProperty = AvaloniaProperty.Register<AvaloniaFlyoutBase, object?>(nameof(FooterContent));
@@ -33,8 +30,8 @@ public partial class AvaloniaFlyoutBase : UserControl
{ {
InitializeComponent(); InitializeComponent();
CancelButtonImage = CancelImage; CancelButtonImage = DefaultCancelImage;
ConfirmButtonImage = ConfirmImage; ConfirmButtonImage = DefaultConfirmImage;
bgWorker_LoadData.DoWork += BgWorker_LoadData_DoWork; bgWorker_LoadData.DoWork += BgWorker_LoadData_DoWork;
bgWorker_LoadData.RunWorkerCompleted += BgWorker_LoadData_RunWorkerCompleted; bgWorker_LoadData.RunWorkerCompleted += BgWorker_LoadData_RunWorkerCompleted;

View File

@@ -7,7 +7,7 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<Version>1.2.6</Version> <Version>1.2.7</Version>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>