Window 在 WinUI3 中没有最大化

Window doesn't maximize in WinUI3

我正在使用以下代码启动最大化的 WinUI3 应用程序:

    public MainWindow()
    {
        this.InitializeComponent();
        var windowHandle = WinRT.Interop.WindowNative.GetWindowHandle(this);
        var windowId = Win32Interop.GetWindowIdFromWindow(windowHandle);
        AppWindow appWindow = AppWindow.GetFromWindowId(windowId);
        OverlappedPresenter presenter = (OverlappedPresenter)appWindow.Presenter;
        presenter.Maximize();
        Debug.WriteLine(presenter.State);
    }

没有错误,调试输出报告 OverlappedPresenter 状态为已最大化,但 window 保持恢复状态。

欢迎提出任何建议,在此先感谢。

尝试将 Maximize() 放在 App 的 OnLaunched 方法中:

    protected override void OnLaunched(LaunchActivatedEventArgs args)
    {
        ...
        presenter.Maximize();
    }

或者 Window 的 OnActivated 事件:

    private void OnActivated(object sender, WindowActivatedEventArgs args)
    {
        ...
        presenter.Maximize();
    }