diff --git a/native/Avalonia.Native/src/OSX/WindowImpl.h b/native/Avalonia.Native/src/OSX/WindowImpl.h index 353ee4d2f1..bb17d70373 100644 --- a/native/Avalonia.Native/src/OSX/WindowImpl.h +++ b/native/Avalonia.Native/src/OSX/WindowImpl.h @@ -56,7 +56,7 @@ BEGIN_INTERFACE_MAP() virtual HRESULT SetTitleBarColor(AvnColor color) override; - virtual HRESULT GetWindowState (AvnWindowState*ret) override; + virtual HRESULT GetWindowState (AvnWindowState*ret); virtual HRESULT TakeFocusFromChildren () override; diff --git a/src/Avalonia.Native/WindowImpl.cs b/src/Avalonia.Native/WindowImpl.cs index f23b6cbc62..069da34d9e 100644 --- a/src/Avalonia.Native/WindowImpl.cs +++ b/src/Avalonia.Native/WindowImpl.cs @@ -20,6 +20,7 @@ namespace Avalonia.Native private readonly ITopLevelNativeMenuExporter _nativeMenuExporter; private bool _canResize = true; private bool _canMaximize = true; + private WindowState _windowState; private Controls.WindowDecorations _decorations = Controls.WindowDecorations.Full; internal WindowImpl(IAvaloniaNativeFactory factory, AvaloniaNativePlatformOptions opts) : base(factory) @@ -61,6 +62,7 @@ namespace Avalonia.Native void IAvnWindowEvents.WindowStateChanged(AvnWindowState state) { + _parent._windowState = (WindowState)state; _parent.InvalidateExtendedMargins(); _parent.WindowStateChanged?.Invoke((WindowState)state); @@ -110,7 +112,7 @@ namespace Avalonia.Native public WindowState WindowState { - get => (WindowState)_native.WindowState; + get => _windowState; set => _native.SetWindowState((AvnWindowState)value); } diff --git a/src/Avalonia.Native/avn.idl b/src/Avalonia.Native/avn.idl index 0ab5189ffd..a275a6c2d1 100644 --- a/src/Avalonia.Native/avn.idl +++ b/src/Avalonia.Native/avn.idl @@ -798,7 +798,6 @@ interface IAvnWindow : IAvnWindowBase HRESULT SetTitle(char* utf8Title); HRESULT SetTitleBarColor(AvnColor color); HRESULT SetWindowState(AvnWindowState state); - HRESULT GetWindowState(AvnWindowState*ret); HRESULT TakeFocusFromChildren(); HRESULT SetExtendClientArea(bool enable); HRESULT GetExtendTitleBarHeight(double*ret);