mirror of
http://git.xinwangdao.com/cnnc-embedded-parts-detect/detect.git
synced 2025-06-24 13:34:13 +08:00
84 lines
2.5 KiB
C#
84 lines
2.5 KiB
C#
![]() |
using Avalonia;
|
|||
|
using Avalonia.Controls;
|
|||
|
using Avalonia.Markup.Xaml;
|
|||
|
using Avalonia.Platform;
|
|||
|
|
|||
|
namespace detect.gui.VWS;
|
|||
|
|
|||
|
public partial class NotificationWindow : Window
|
|||
|
{
|
|||
|
private static NotificationWindow? _instance;
|
|||
|
|
|||
|
public static NotificationWindow Instance()
|
|||
|
{
|
|||
|
return _instance ??= new NotificationWindow();
|
|||
|
}
|
|||
|
|
|||
|
public static readonly StyledProperty<bool> IsSuccessProperty =
|
|||
|
AvaloniaProperty.Register<NotificationWindow, bool>(nameof(IsSuccess));
|
|||
|
|
|||
|
public bool IsSuccess
|
|||
|
{
|
|||
|
get => GetValue(IsSuccessProperty);
|
|||
|
set => SetValue(IsSuccessProperty, value);
|
|||
|
}
|
|||
|
|
|||
|
public static readonly StyledProperty<bool> IsErrorProperty =
|
|||
|
AvaloniaProperty.Register<NotificationWindow, bool>(nameof(IsError));
|
|||
|
|
|||
|
public bool IsError
|
|||
|
{
|
|||
|
get => GetValue(IsErrorProperty);
|
|||
|
set => SetValue(IsErrorProperty, value);
|
|||
|
}
|
|||
|
|
|||
|
public static readonly StyledProperty<bool> IsInformationProperty =
|
|||
|
AvaloniaProperty.Register<NotificationWindow, bool>(nameof(IsInformation));
|
|||
|
|
|||
|
public bool IsInformation
|
|||
|
{
|
|||
|
get => GetValue(IsInformationProperty);
|
|||
|
set => SetValue(IsInformationProperty, value);
|
|||
|
}
|
|||
|
|
|||
|
public static readonly StyledProperty<bool> IsWarningProperty =
|
|||
|
AvaloniaProperty.Register<NotificationWindow, bool>(nameof(IsWarning));
|
|||
|
|
|||
|
public bool IsWarning
|
|||
|
{
|
|||
|
get => GetValue(IsWarningProperty);
|
|||
|
set => SetValue(IsWarningProperty, value);
|
|||
|
}
|
|||
|
|
|||
|
public static readonly StyledProperty<string?> MessageProperty =
|
|||
|
AvaloniaProperty.Register<NotificationWindow, string?>(nameof(Message));
|
|||
|
|
|||
|
public string? Message
|
|||
|
{
|
|||
|
get => GetValue(MessageProperty);
|
|||
|
set => SetValue(MessageProperty, value);
|
|||
|
}
|
|||
|
|
|||
|
public NotificationWindow()
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
|
|||
|
ExtendClientAreaToDecorationsHint = true;
|
|||
|
ExtendClientAreaChromeHints = ExtendClientAreaChromeHints.NoChrome;
|
|||
|
ExtendClientAreaTitleBarHeightHint = -1;
|
|||
|
SystemDecorations = SystemDecorations.None;
|
|||
|
Topmost = false;
|
|||
|
ShowInTaskbar = false;
|
|||
|
CanResize = false;
|
|||
|
|
|||
|
if (Screens.Primary == null) return;
|
|||
|
var w = Screens.Primary.Bounds.Width / Screens.Primary.Scaling;
|
|||
|
var h = Screens.Primary.Bounds.Height / Screens.Primary.Scaling;
|
|||
|
Position = new PixelPoint((int)(w - 260), (int)(h - 93));
|
|||
|
}
|
|||
|
|
|||
|
private void InitializeComponent()
|
|||
|
{
|
|||
|
AvaloniaXamlLoader.Load(this);
|
|||
|
}
|
|||
|
}
|