我正在使用 Windows 10 IoT Core 开发一个项目,最近我设法通过使用Windows.ApplicationModel.Core.AppListEntry.LaunchAsync()
.
我的测试启动器是 Microsoft 的 IoT 示例中使用的启动器,只是对 UI 做了一些小的改动。我用于启动应用程序的代码是:
void MainPage::StackPanel_Tapped(Object^ sender, TappedRoutedEventArgs^ e) {
auto appItem = dynamic_cast<AppListItem^>(appList->SelectedItem);
if (appItem) {
appItem->AppEntry->LaunchAsync();
}
}
(可以在此处找到相同的代码)
应用程序列表使用 PackageManager API 填充,如上面链接的示例项目“IoTStartApp”所示。当我点击一个项目时,对应的应用程序开始覆盖整个屏幕。
由于除了触摸屏显示器之外我没有任何外部设备,我想在我的启动器中集成导航按钮(主页和返回)。所以实际的问题是,实际的 UWP API 是否允许在我的启动器区域内启动另一个 UWP 应用程序,以便为我的导航栏留出一些空间?(就像一个框架,但不是显示当前应用程序的页面,它应该包含另一个应用程序的页面)。
我的想法是用一个参数来启动一个应用程序,告诉从哪里开始,比如LaunchInContainerAsync(Frame frame)
,其中 frame 是我的容器(想象一个页面,只有这个容器和我的两个导航按钮在底部,在另一个网格中)。XAML 将是这样的:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Frame x:Name="ApplicationFrame" Grid.Row="0" Margin="0"/>
<Grid x:Name="NavBar" Grid.Row="1" Margin="0">
<!-- Here are my other UI elements that should stay visible during the execution of the "launched" application, such as navigation buttons. -->
</Grid>
</Grid>
我问这个是因为我记得(但我肯定错了)微软有一些例子展示了这种应用程序启动解决方案,但现在他们从他们的文档和 GitHub 迁移(并最终删除)了许多示例和 wiki 页面回购。如果这不可能,还有哪些其他导航解决方案?是否有人成功创建了仅适用于触摸屏显示器的 Windows 10 IoT Core 启动器?