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

View File

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

View File

@@ -14,9 +14,6 @@ public partial class AvaloniaFlyoutBase : UserControl
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?> FooterContentProperty = AvaloniaProperty.Register<AvaloniaFlyoutBase, object?>(nameof(FooterContent));
@@ -33,8 +30,8 @@ public partial class AvaloniaFlyoutBase : UserControl
{
InitializeComponent();
CancelButtonImage = CancelImage;
ConfirmButtonImage = ConfirmImage;
CancelButtonImage = DefaultCancelImage;
ConfirmButtonImage = DefaultConfirmImage;
bgWorker_LoadData.DoWork += BgWorker_LoadData_DoWork;
bgWorker_LoadData.RunWorkerCompleted += BgWorker_LoadData_RunWorkerCompleted;

View File

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