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

WinUI3(XAML+C#)点击按钮新建应用窗口的实现方案(适配新版)

在WinUI3(应用设计器创建项目)中运行时新建窗口的解决方案

实现步骤

  1. 准备目标页面
    若需在新窗口展示自定义内容,先创建对应XAML页面(比如NewWindowPage.xaml);如果要复用主窗口内容,直接使用主窗口的根页面类型即可。

  2. 编写按钮点击事件代码
    在页面后台代码(如MainPage.xaml.cs)中,为“打开新窗口”按钮添加点击逻辑:

    private async void OpenNewWindowButton_Click(object sender, RoutedEventArgs e)
    {
        // 创建新的AppWindow实例
        var appWindow = await AppWindow.TryCreateAsync();
    
        // 初始化窗口内容框架
        var contentFrame = new Frame();
        // 替换为你要显示的页面类型
        contentFrame.Content = new NewWindowPage();
    
        // 将内容附加到AppWindow
        ElementCompositionPreview.SetAppWindowContent(appWindow, contentFrame);
    
        // 显示新窗口
        await appWindow.TryShowAsync();
    }
    

关键注意事项

  • 确保项目安装了最新版Microsoft.WindowsAppSDK NuGet包,旧版本可能存在API兼容问题。
  • 使用Packaged项目模板时,默认已支持多窗口,无需额外配置权限;若窗口无法创建,可检查Package.appxmanifest中是否启用必要功能。
  • 若要让新窗口和主窗口保持相同样式或状态,可直接复用主窗口的根页面实例,或克隆状态后创建新实例。

内容的提问来源于stack exchange,提问作者jan-peter Poppe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 20:32:06