diff --git a/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs b/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs index e22e3aa51a..76970dd57b 100644 --- a/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs +++ b/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs @@ -609,6 +609,10 @@ namespace Avalonia.Win32 _resizeReason = WindowResizeReason.User; break; + case WindowsMessage.WM_SHOWWINDOW: + _shown = wParam != default; + break; + case WindowsMessage.WM_SIZE: { var size = (SizeCommand)wParam; diff --git a/src/Windows/Avalonia.Win32/WindowImpl.cs b/src/Windows/Avalonia.Win32/WindowImpl.cs index 7a022d1c0d..e34a64a267 100644 --- a/src/Windows/Avalonia.Win32/WindowImpl.cs +++ b/src/Windows/Avalonia.Win32/WindowImpl.cs @@ -682,7 +682,6 @@ namespace Avalonia.Win32 public void Hide() { UnmanagedMethods.ShowWindow(_hwnd, ShowWindowCommand.Hide); - _shown = false; } public virtual void Show(bool activate, bool isDialog) @@ -1160,8 +1159,6 @@ namespace Avalonia.Win32 private void ShowWindow(WindowState state, bool activate) { - _shown = true; - if (_isClientAreaExtended) { ExtendClientArea();