如何在 splitview 内容区域中打开应用程序?

How to open an app in splitview content area?

我基本上想在我的项目目录中打开一个应用程序到 splitview 内容区域。 XAML

        <SplitView x:Name="MainPanel" DisplayMode="Inline" IsPaneOpen="True">
            <SplitView.Pane>
                <NavigationView x:Name="Navigation" SelectionChanged="Navigation_Navigate">
                    <NavigationView.MenuItems>
                        <NavigationViewItem x:Name="Home" Icon="Home" Content="Home"/>
                        <NavigationViewItem x:Name="Colours" Icon="Edit" Content="Colours"/>
                        <NavigationViewItem Icon="Admin" Content="Security"/>
                        <NavigationViewItem Icon="World" Content="Translate"/>
                    </NavigationView.MenuItems>
                </NavigationView>
            </SplitView.Pane>
            
            <SplitView.Content>
                <Button Background="Green"/>
            </SplitView.Content>
        </SplitView>

XAML.CS

private async void NavigateToApp()
        {
            var NextPage = CoreApplication.CreateNewView();
            int NewViewID = 0;
            
            if (!IsOpen)
            {
                await NextPage.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                {
                    Frame NewFrame = new Frame();
                    NewFrame.Navigate(typeof(Colours), null);


                    Window.Current.Content = NewFrame;
                    
                    Window.Current.Activate();

                    MainPanel.Content = NewFrame;

                    NewViewID = ApplicationView.GetForCurrentView().Id;
                });
                
                await ApplicationViewSwitcher.TryShowAsStandaloneAsync(NewViewID, ViewSizePreference.UseMinimum);

                IsOpen = true;
            }
            
                //IsOpen = false;
            
            //await ApplicationViewSwitcher.TryShowAsViewModeAsync(NewViewID, ApplicationViewMode.CompactOverlay);
            
        }
        #region Test
        
        private void Navigation_Navigate(NavigationView sender, NavigationViewSelectionChangedEventArgs args)
        {

            NavigationViewItem item = args.SelectedItem as NavigationViewItem;

            if (item != null)
            {
                switch (item.Content)
                {
                    case "Home":
                        Frame.Navigate(typeof(MainPage));
                        break;

                    case "Colours":
                        NavigateToApp();
                        break;

                    case "Translate":
                        Frame.Navigate(typeof(Translate));
                        break;
                }
            }

        }

这是我希望应用程序运行的方式: -用户点击导航菜单项上的按钮,例如颜色 - 然后将颜色页面加载到新框架中,然后将新框架加载到 window,然后将 window 加载到 splitview.content

这是不可能的。您只能将 SplitViewContent 属性 设置为 UIElementWindow 不是 UIElement.

您应该做的是将应用 window 的 内容 移动到 UserControl 或类似的 UserControl 并设置 Content 属性 到这个的实例。

您不能在另一个控件中显示顶级 window 或整个应用程序。