You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MAUI应用Windows端如何禁用窗口调整并固定MainPage宽高为200px?

MAUI Windows端固定窗口大小并禁用调整方案

针对Windows平台,完全可以通过平台特定代码实现固定窗口大小(如200×200px)并禁用调整功能,无需修改基类,具体实现如下:

实现步骤

在自动生成的MainPage类中,添加窗口加载事件处理逻辑,仅针对Windows平台编译:

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();

#if WINDOWS
        Loaded += MainPage_Loaded;
#endif
    }

#if WINDOWS
    private void MainPage_Loaded(object sender, EventArgs e)
    {
        // 获取WinUI3原生窗口实例
        var winuiWindow = Window.Current.Handler.PlatformView as Microsoft.UI.Xaml.Window;
        if (winuiWindow == null) return;

        // 固定窗口大小为200×200px
        winuiWindow.AppWindow.Resize(new Windows.Graphics.SizeInt32(200, 200));

        // 获取窗口展示器,禁用调整、最大化功能
        var overlappedPresenter = winuiWindow.AppWindow.Presenter as Microsoft.UI.Windowing.OverlappedPresenter;
        if (overlappedPresenter != null)
        {
            overlappedPresenter.IsResizable = false;
            overlappedPresenter.IsMaximizable = false;
            // 可选:如需禁用最小化,取消下一行注释
            // overlappedPresenter.IsMinimizable = false;
        }
    }
#endif
}

关键说明

  • MAUI的RequestedWidth/RequestedHeight仅控制页面内容的期望尺寸,而非系统窗口大小,因此之前设置无效果。
  • 通过Window.Current.Handler.PlatformView可获取Windows平台的原生WinUI3窗口对象,调用其AppWindow API直接控制窗口行为。
  • 条件编译指令#if WINDOWS确保代码仅在Windows平台生效,不影响其他平台编译。

内容的提问来源于stack exchange,提问作者Arnold Zahrneinder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 04:50:17