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

WPF按钮启动UWP应用仅显示闪屏无法加载的问题求助

UWP应用通过WPF启动仅显示闪屏的解决方案

1. 验证UWP部署与权限

  • 先确保UWP应用已正确部署到本地:右键UWP项目选择部署,确认部署完成后再通过WPF启动。
  • 直接启动UWP时VS会自动处理调试权限,但WPF启动时可能缺失必要权限。尝试以管理员身份运行WPF程序,同时检查UWP的Package.appxmanifest,确认所需的系统权限(如网络访问、用户账户控制权限等)已正确配置。

2. 修正WPF的UWP启动逻辑

不要用Process.Start直接启动UWP的exe,UWP需通过系统API启动。使用Windows.System.Launcher类的方法,通过应用包族名或自定义协议启动:

using Windows.ApplicationModel;
using Windows.System;

private async void LaunchUwpBtn_Click(object sender, RoutedEventArgs e)
{
    // 替换为你的UWP应用包族名,可在UWP项目属性->打包中找到
    string packageFamilyName = "WLANConnector_xxxxxx"; 
    var launchOptions = new LauncherOptions
    {
        TargetApplicationPackageFamilyName = packageFamilyName
    };
    // 若UWP注册了自定义协议,也可通过协议启动
    await Launcher.LaunchUriAsync(new Uri("wlanconnector://"), launchOptions);
}

3. 检查XamlHost的配置(若嵌入UWP控件)

如果是用XamlHost在WPF中嵌入UWP控件而非单独启动窗口:

  • 确认XamlHost的InitialTypeName属性正确指向UWP主页面类型(如WLANConnector.MainPage)。
  • 将UWP项目的输出类型设为Class Library,避免窗口启动冲突。
  • 确保WPF项目已正确引用UWP项目,且UWP项目编译正常。

4. 调试UWP启动异常

通过WPF启动UWP后,在VS中选择调试->附加到进程,找到UWP进程(通常为WLANConnector.exe)并附加,查看输出窗口的错误日志,或在UWP的App.xaml.cs的OnLaunched方法中设置断点,检查是否执行到主页面加载逻辑、是否有异常抛出。

5. 匹配SDK Contracts版本

确保WPF项目中Microsoft.Windows.SDK.Contracts的NuGet版本,与UWP项目使用的Windows SDK版本完全一致,避免版本兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:55:19