也许一个非常奇怪的要求......
我们正在研究构建可以在其中打开网站和其他UWP应用程序的Windows 10 UWP应用程序 . 我想主要问题是......
在Windows 10 UWP中,是否有一个控件可以打开另一个UWP(如UWP的WebView?)
这个想法(我们还没有开始编码那么多,因为我们目前“蓝图”)是实现了一个带有SplitView(汉堡包控制)的应用程序,每个按钮都会将框架更改为网页链接或链接到另一个UWP应用程序 - 如天气例如 .
当用户点击一个选项时,这将改变主框架以访问该内容...而不离开应用程序 - 将其视为锁定的自助服务终端(安全) .
我猜测没有一个开箱即用的解决方案,但我想我会问:)
谢谢!马特
3 回答
如果我理解你的话,我不认为你正在寻找的是什么 . 事实上,UWP应用程序模型中的关键词是应用程序的隔离或容器化 .
这并不意味着应用程序不会相互交互--UWP应用程序模型确实允许应用程序与基于URL的激活/通信进行交互;也许这就是你需要探索它是否符合你的要求 . 您可以从here开始获取一些背景信息 .
也就是说,您可以设计UI以模仿其他应用程序包含在splitview或任何容器中(对用户来说是一种错觉) . 也就是说,不同隔间中的UI仅仅是在后台与其他应用程序进行URL通信的视图模型 .
不,你不能,Windows应用程序是用于保护数据 .
但你可以做的是启动另一个应用程序,任何注册到uri的应用程序以下代码来自msdn,显示如何将自己的应用程序绑定到uri然后调用它 .
如果您有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中插入您的库,如下所示:
运行你的应用程序如果它的工作方式与原样相同 - 一切正常 .
现在转到您想要嵌入上面讨论的应用程序的主应用程序,并只是引用您的库YourAppName.Core . 只需在您希望的任何地方使用XAML,或者从代码后台创建实例 .