使用子视图的c#uwp app在桌面上工作正常,但它不显示在ARM-Remote Machine上运行的子视图(Raspbery pi3b +)

问题描述 投票:0回答:1

我有一个使用uwp的c#app,这个应用程序使用子视图/页面使用如下代码:

static private async Task _LoadNewPagex(System.Type frm)
{
    Windows.ApplicationModel.Core.CoreApplicationView newView = Windows.ApplicationModel.Core.CoreApplication.CreateNewView();
    int newViewId = 0;
    await newView.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
    {
        Windows.UI.Xaml.Controls.Frame frame = new Windows.UI.Xaml.Controls.Frame();
        frame.Navigate(frm);
        Windows.UI.Xaml.Window.Current.Content = frame;
        Windows.UI.Xaml.Window.Current.Activate();
        newViewId = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView().Id;
    });
    bool viewShown = await Windows.UI.ViewManagement.ApplicationViewSwitcher.TryShowAsViewModeAsync (newViewId, Windows.UI.ViewManagement.ApplicationViewMode.CompactOverlay );
}

在Mainpage.xaml中,我有一个按钮,并调用创建新的子视图/页面

void Button_Click(object sender, RoutedEventArgs e)
{
    _LoadNewPagex(App.Current, typeof(emptyx))
}

当我调试代码时一切正常,并且子视图工作正常,我的麻烦是当我使用ARM-Remote Machine Option将应用程序测试到设备(raspberry pi 3b +)时,它会部署并加载应用程序进入pi-windows 10 iot并显示主页面,但是当我按下按钮时,子视图/页面永远不会显示出来。

是否有任何特殊的配置,或任何特殊的程序,使这个工作?

谢谢

c# raspberry-pi3 iot windows-10-iot-core
1个回答
0
投票

Windows IoT Core不支持多视图。在Headed模式下,IoT Shell将启动一个注册的启动应用程序,该应用程序将全屏显示其UI(也称为Headed应用程序)。您可以使用以下代码导航到新页面:

public static void LoadNewPagex(System.Type frm)
{
    var rootFrame = Windows.UI.Xaml.Window.Current.Content as Frame;
    rootFrame.Navigate(frm);
}
© www.soinside.com 2019 - 2024. All rights reserved.