如何使框架保存在我的视图中 导航到新视图

本文关键字:导航 新视图 视图 我的 何使 框架 保存 存在 | 更新日期: 2024-11-07 03:15:38

我有一个窗口,里面有一个框架。框架的源代码加载为"HomePage.xaml"。

我正在将所有内容转换为 MVVM,但苦苦挣扎。以前,我在代码后面有这个函数:

private void HiscoreStatsTile_Click(object sender, RoutedEventArgs e)
{
    NavigationService navService = NavigationService.GetNavigationService(this);
    ChartTest x = new ChartTest();
    navService.Navigate(x);
}

但是,我无法完全将其作为我的视图模型中的命令工作。我应该如何抓住包含视图的框架,并将其导航到新页面?

如何使框架保存在我的视图中 导航到新视图

不应访问视图或视图模型中的任何 UI 控件。

我更喜欢这里描述的视图模型优先导航: https://stackoverflow.com/a/28916120/475727 相信我,事情会容易得多

内置导航服务在 mvvm 方案中效果不佳。只需编写自己的。这是几行代码。基本上,您需要将视图模型作为参数的导航方法和表示当前页面的视图modrl的当前页面属性。在主视图中,您只需将框架甚至更好的内容控件绑定到当前页面属性,并使用数据模板选择器或转换器为当前页面视图模型创建视图