WPF:网格框架内的加载窗口
我有WPF:网格框架内的加载窗口,wpf,grid,window,Wpf,Grid,Window,我有WPF应用程序和ListBoxItems作为右菜单 当特定的ListBoxItem被选中时,我想加载我创建的名为Home的不同窗口(而不是创建多个网格元素并更改其可见性),因此我有这个网格: <Grid> <Frame Name="MyFrame"/> </Grid> 得到了这个错误: System.InvalidOperationException:“MyApplication.Home”根元素 对于导航无效 " 这是加载其他窗口/页面的正
WPF
应用程序和ListBoxItems
作为右菜单
当特定的ListBoxItem
被选中时,我想加载我创建的名为Home的不同窗口(而不是创建多个网格
元素并更改其可见性
),因此我有这个网格:
<Grid>
<Frame Name="MyFrame"/>
</Grid>
得到了这个错误:
System.InvalidOperationException:“MyApplication.Home”根元素
对于导航无效
"
这是加载其他窗口/页面
的正确方法吗?主页
必须是页面
或用户控件
。不能将框架的内容属性设置为窗口的实例
如果您想要导航历史,您应该考虑使用<代码>导航服务< /代码> <代码>框架>代码>导航到页面:
MyFrame.NavigationService.Navigate(new Uri("Home.xaml", UriKind.Relative));
窗口和页面有什么不同?是两种不同的类型。窗口只是一个浮动的顶层对象。它不能是任何其他元素的子元素。因此,如果我想用元素加载每个ListBoxItem不同的窗口,我也可以使用Page吗?您可以将框架的内容属性设置为页面
,该页面包含您想要显示的内容。我想注册到我的ListBoxSelectionChanged事件,我有3个ListBoxItems和3个页面以及每个索引页面会有多大的不同,哪些页面会显示具体的页面,哪些页面需要用当前页面做什么才能消失?
MyFrame.NavigationService.Navigate(new Uri("Home.xaml", UriKind.Relative));