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

@@ -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