c# - 如何在 splitview 内容区域中打开应用程序?
问题描述
我基本上想在我的项目目录中打开一个应用程序到 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;
}
}
}
这就是我打算让应用程序工作的方式: - 用户单击导航菜单项上的按钮,例如颜色 - 然后将颜色页面加载到新框架中,然后将新框架加载到窗口中,然后将窗口加载到 splitview.content
解决方案
这是不可能的。您只能将 a 的Content
属性设置SplitView
为 aUIElement
并且 aWindow
不是 a UIElement
。
你应该做的是将应用程序窗口的内容UserControl
移动到一个或类似的,并将Content
属性设置为这个的一个实例。
您不能在另一个控件中显示顶级窗口或整个应用程序。
推荐阅读
- r - R按照某种模式导入excel文件
- java - WebLogic 12.1.3 中的 JSON-B 作为 JDK 8 的新特性
- java - 在 Netbeans 中的标签之间移动鼠标光标的快捷方式
- c++ - 堆栈变量和函数的 C++ 奇怪行为
- sql - 确定 SQL 间隙和孤岛中的连续日期
- javascript - 意外令牌{错误
- javascript - hml表单提交后如何运行jquery代码
- mysql - 使用 HeidiSql 访问 MySql
- haskell - 使用 catamorphism 忘记 Cofree 注释
- python - django-rest-framework-gis GeoFeatureModelSerializer 在序列化时返回更改/不正确的坐标