我正在使用WPF ModernUI,我想导航到一个页面并设置页面DataContext。
导航我正在使用以下内容:
NavigationCommands.GoToPage.Execute("view/pages/TaskEditPage.xaml", this);
有没有其他方法可以导航到某个页面,或者有没有办法获取该页面的实例,以便我可以设置DataContext?
答案 0 :(得分:1)
自从我使用ModernUI以来,很长一段时间(也是唯一一次),导航通常类似于以下内容:
NavigationCommands.GoToPage.Execute("view/pages/TaskEditPage.xaml#TaskID=xyz", this);
然后你可以:
public void OnFragmentNavigation(FragmentNavigationEventArgs e)
{
//e.Fragment will be "TaskID=xyz"
RetrieveTaskFromStore(e.Fragment)
}
答案 1 :(得分:1)
托管当前页面的ModernFrame
控件继承自ContentControl
,因此具有Content
属性,即当前页面。
但是,使用片段导航可以很好地分离关注点。让视图决定使用哪个视图模型类作为DataContext
,并使用片段导航来帮助加载视图模型的特定数据。