Browse Source

add diagnostics for debugging window deactivated issue.

pull/6610/head
Dan Walmsley 5 years ago
parent
commit
95f4ed1a21
  1. 1
      samples/ControlCatalog/App.xaml.cs
  2. 17
      src/Windows/Avalonia.Win32/TrayIconImpl.cs

1
samples/ControlCatalog/App.xaml.cs

@ -106,6 +106,7 @@ namespace ControlCatalog
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktopLifetime) if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktopLifetime)
{ {
desktopLifetime.MainWindow = new MainWindow(); desktopLifetime.MainWindow = new MainWindow();
desktopLifetime.ShutdownMode = ShutdownMode.OnExplicitShutdown;
} }
else if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewLifetime) else if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewLifetime)
singleViewLifetime.MainView = new MainView(); singleViewLifetime.MainView = new MainView();

17
src/Windows/Avalonia.Win32/TrayIconImpl.cs

@ -1,6 +1,8 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Threading.Tasks;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Controls.Platform; using Avalonia.Controls.Platform;
using Avalonia.Controls.Primitives.PopupPositioning; using Avalonia.Controls.Primitives.PopupPositioning;
@ -179,13 +181,28 @@ namespace Avalonia.Win32
_positioner = new ManagedPopupPositioner(new TrayIconManagedPopupPositionerPopupImplHelper(MoveResize)); _positioner = new ManagedPopupPositioner(new TrayIconManagedPopupPositionerPopupImplHelper(MoveResize));
Topmost = true; Topmost = true;
Activated += TrayPopupRoot_Activated;
Deactivated += TrayPopupRoot_Deactivated; Deactivated += TrayPopupRoot_Deactivated;
LostFocus += TrayPopupRoot_LostFocus1;
ShowInTaskbar = false; 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) private void TrayPopupRoot_Deactivated(object sender, EventArgs e)
{ {
Debug.WriteLine("TrayIcon - Deactivated");
Dispatcher.UIThread.Post(() => Dispatcher.UIThread.Post(() =>
{ {
Close(); Close();

Loading…
Cancel
Save