diff --git a/samples/ControlCatalog/App.xaml.cs b/samples/ControlCatalog/App.xaml.cs index 36b6fc2dcd..e044987a27 100644 --- a/samples/ControlCatalog/App.xaml.cs +++ b/samples/ControlCatalog/App.xaml.cs @@ -106,6 +106,7 @@ namespace ControlCatalog if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktopLifetime) { desktopLifetime.MainWindow = new MainWindow(); + desktopLifetime.ShutdownMode = ShutdownMode.OnExplicitShutdown; } else if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewLifetime) singleViewLifetime.MainView = new MainView(); diff --git a/src/Windows/Avalonia.Win32/TrayIconImpl.cs b/src/Windows/Avalonia.Win32/TrayIconImpl.cs index ba208a4b74..fce56bcb21 100644 --- a/src/Windows/Avalonia.Win32/TrayIconImpl.cs +++ b/src/Windows/Avalonia.Win32/TrayIconImpl.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; +using System.Threading.Tasks; using Avalonia.Controls; using Avalonia.Controls.Platform; using Avalonia.Controls.Primitives.PopupPositioning; @@ -179,13 +181,28 @@ namespace Avalonia.Win32 _positioner = new ManagedPopupPositioner(new TrayIconManagedPopupPositionerPopupImplHelper(MoveResize)); Topmost = true; + Activated += TrayPopupRoot_Activated; Deactivated += TrayPopupRoot_Deactivated; + LostFocus += TrayPopupRoot_LostFocus1; + ShowInTaskbar = false; } + private void TrayPopupRoot_LostFocus1(object sender, Interactivity.RoutedEventArgs e) + { + Debug.WriteLine("TrayIcon - Lost Focus"); + } + + private void TrayPopupRoot_Activated(object sender, EventArgs e) + { + Debug.WriteLine("TrayIcon - Activated"); + } + private void TrayPopupRoot_Deactivated(object sender, EventArgs e) { + Debug.WriteLine("TrayIcon - Deactivated"); + Dispatcher.UIThread.Post(() => { Close();