视图模型中的wpf页面导航

时间:2011-03-30 12:20:29

标签: c# wpf binding

在我看来,我有一个按钮。该按钮具有中继命令,可执行某些操作。执行此操作后,它应导航到其他站点。我怎样才能做到这一点。如何在viewModel中导航到此站点?我希望你明白我的意思。

感谢您的帮助 holzleube

1 个答案:

答案 0 :(得分:1)

不幸的是,这个问题的答案可能并不像你想的那么简单。我认为每个人都有不同的做法,所以这只是一种方式。 首先,我们使用Microsoft的Prism / CAL库,它具有“区域”的概念,它们被命名为占位符控件(即ItemsControl,类型)。然后在我们所有的“页面”上,我们接受一个名为NavigationController的控制器实例,它的职责是交换视图。 NavigationController充满了像“GoToHome”这样的方法,它们执行以下操作:从依赖注入中获取Home ViewModel(或根据您的设置创建一个新实例),通过从区域管理器获取某个区域来清除某个区域,然后加载它与新的Home视图模型。然后我们在“页面”的后备视图模型中连接调用以调用控制器。

因此,总而言之,它需要一些管道。一旦你进行了初始设置,只需要几分钟就可以添加一个新的页面,但是没有神奇的“链接”,因为你必须知道你要去哪里,它在哪里加载,以及如何获得支持视图模型。