首页 文章

在UWP应用程序中打开UWP

提问于
浏览
4

也许一个非常奇怪的要求......

我们正在研究构建可以在其中打开网站和其他UWP应用程序的Windows 10 UWP应用程序 . 我想主要问题是......

在Windows 10 UWP中,是否有一个控件可以打开另一个UWP(如UWP的WebView?)

这个想法(我们还没有开始编码那么多,因为我们目前“蓝图”)是实现了一个带有SplitView(汉堡包控制)的应用程序,每个按钮都会将框架更改为网页链接或链接到另一个UWP应用程序 - 如天气例如 .

当用户点击一个选项时,这将改变主框架以访问该内容...而不离开应用程序 - 将其视为锁定的自助服务终端(安全) .

我猜测没有一个开箱即用的解决方案,但我想我会问:)

谢谢!马特

3 回答

  • 0

    如果我理解你的话,我不认为你正在寻找的是什么 . 事实上,UWP应用程序模型中的关键词是应用程序的隔离或容器化 .

    这并不意味着应用程序不会相互交互--UWP应用程序模型确实允许应用程序与基于URL的激活/通信进行交互;也许这就是你需要探索它是否符合你的要求 . 您可以从here开始获取一些背景信息 .

    也就是说,您可以设计UI以模仿其他应用程序包含在splitview或任何容器中(对用户来说是一种错觉) . 也就是说,不同隔间中的UI仅仅是在后台与其他应用程序进行URL通信的视图模型 .

  • 7

    不,你不能,Windows应用程序是用于保护数据 .

    但你可以做的是启动另一个应用程序,任何注册到uri的应用程序以下代码来自msdn,显示如何将自己的应用程序绑定到uri然后调用它 .

    var options = new Windows.System.LauncherOptions();
    options.PreferredApplicationPackageFamilyName= "Contoso.URIApp_8wknc82po1e";
    options.PreferredApplicationDisplayName = "Contoso URI Ap";
    
    // Launch the URI and pass in the recommended app 
    // in case the user has no apps installed to handle the URI
    var success = await Windows.System.Launcher.LaunchUriAsync(uriContoso, options);
    
  • 0

    如果您有App的项目,您可以轻松地将其转换为库:

    转到要嵌入的应用程序 . 右键单击它的解决方案 - >添加新项目 .

    创建类库(通用Windows) . 将其命名为YourAppName.Core . 删除刚刚创建的模板* .cs文件 . 从YourAppName项目中选择除App.xaml,App.cs,Properties,References,TemporaryKey,Manifest和project.json之外的所有文件夹和文件,并将它们拖放到新库YourAppName.Core . 在每个* .xaml和* .cs文件中将名称空间从YourAppName更改为YourAppName.Core .

    转到YourAppName项目 . 排除您移动到库中的选定文件并在其中创建新页面,例如将其命名为MainPage . 转到引用,右键单击 - >添加新引用并选择YourAppName.Core . 确保App.cs导航到typeof MainPage . 在MainPage.xaml中插入您的库,如下所示:

    <Grid>
        <YourPageName that was previously in App.cs/>
    </Grid>
    

    运行你的应用程序如果它的工作方式与原样相同 - 一切正常 .

    现在转到您想要嵌入上面讨论的应用程序的主应用程序,并只是引用您的库YourAppName.Core . 只需在您希望的任何地方使用XAML,或者从代码后台创建实例 .

相关问题