|
|
@@ -853,7 +853,7 @@ namespace Avalonia.Win32
|
|
|
|
|
|
private void ShowWindow(WindowState state)
|
|
|
{
|
|
|
- ShowWindowCommand command;
|
|
|
+ ShowWindowCommand? command;
|
|
|
|
|
|
var newWindowProperties = _windowProperties;
|
|
|
|
|
|
@@ -875,8 +875,8 @@ namespace Avalonia.Win32
|
|
|
|
|
|
case WindowState.FullScreen:
|
|
|
newWindowProperties.IsFullScreen = true;
|
|
|
- UpdateWindowProperties(newWindowProperties);
|
|
|
- return;
|
|
|
+ command = IsWindowVisible(_hwnd) ? (ShowWindowCommand?)null : ShowWindowCommand.Restore;
|
|
|
+ break;
|
|
|
|
|
|
default:
|
|
|
throw new ArgumentException("Invalid WindowState.");
|
|
|
@@ -884,7 +884,10 @@ namespace Avalonia.Win32
|
|
|
|
|
|
UpdateWindowProperties(newWindowProperties);
|
|
|
|
|
|
- UnmanagedMethods.ShowWindow(_hwnd, command);
|
|
|
+ if (command.HasValue)
|
|
|
+ {
|
|
|
+ UnmanagedMethods.ShowWindow(_hwnd, command.Value);
|
|
|
+ }
|
|
|
|
|
|
if (state == WindowState.Maximized)
|
|
|
{
|