feat: drag MessageBox.
This commit is contained in:
@@ -31,7 +31,8 @@ public class MessageBoxWindow: Window
|
||||
|
||||
protected override Type StyleKeyOverride => typeof(MessageBoxWindow);
|
||||
|
||||
public static readonly StyledProperty<MessageBoxIcon> MessageIconProperty = AvaloniaProperty.Register<MessageBoxWindow, MessageBoxIcon>(
|
||||
public static readonly StyledProperty<MessageBoxIcon> MessageIconProperty =
|
||||
AvaloniaProperty.Register<MessageBoxWindow, MessageBoxIcon>(
|
||||
nameof(MessageIcon));
|
||||
|
||||
public MessageBoxIcon MessageIcon
|
||||
@@ -57,22 +58,27 @@ public class MessageBoxWindow: Window
|
||||
{
|
||||
_closeButton.Click -= OnCloseButtonClick;
|
||||
}
|
||||
|
||||
if (_yesButton != null)
|
||||
{
|
||||
_yesButton.Click -= OnYesButtonClick;
|
||||
}
|
||||
|
||||
if (_noButton != null)
|
||||
{
|
||||
_noButton.Click -= OnNoButtonClick;
|
||||
}
|
||||
|
||||
if (_okButton != null)
|
||||
{
|
||||
_okButton.Click -= OnOKButtonClick;
|
||||
}
|
||||
|
||||
if (_cancelButton != null)
|
||||
{
|
||||
_cancelButton.Click -= OnCancelButtonClick;
|
||||
}
|
||||
|
||||
_yesButton = e.NameScope.Find<Button>(PART_YesButton);
|
||||
_noButton = e.NameScope.Find<Button>(PART_NoButton);
|
||||
_okButton = e.NameScope.Find<Button>(PART_OKButton);
|
||||
@@ -82,22 +88,27 @@ public class MessageBoxWindow: Window
|
||||
{
|
||||
_closeButton.Click += OnCloseButtonClick;
|
||||
}
|
||||
|
||||
if (_yesButton is not null)
|
||||
{
|
||||
_yesButton.Click += OnYesButtonClick;
|
||||
}
|
||||
|
||||
if (_noButton is not null)
|
||||
{
|
||||
_noButton.Click += OnNoButtonClick;
|
||||
}
|
||||
|
||||
if (_okButton is not null)
|
||||
{
|
||||
_okButton.Click += OnOKButtonClick;
|
||||
}
|
||||
|
||||
if (_cancelButton is not null)
|
||||
{
|
||||
_cancelButton.Click += OnCancelButtonClick;
|
||||
}
|
||||
|
||||
SetButtonVisibility();
|
||||
}
|
||||
|
||||
@@ -143,6 +154,7 @@ public class MessageBoxWindow: Window
|
||||
{
|
||||
Close(MessageBoxResult.OK);
|
||||
}
|
||||
|
||||
Close(MessageBoxResult.Cancel);
|
||||
}
|
||||
|
||||
@@ -174,4 +186,12 @@ public class MessageBoxWindow: Window
|
||||
Close(MessageBoxResult.OK);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnPointerPressed(PointerPressedEventArgs e)
|
||||
{
|
||||
if (TopLevel.GetTopLevel(this) is Window toplevel)
|
||||
{
|
||||
toplevel.BeginMoveDrag(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user