【问题标题】:Page Specific Navigation in WPF MVVMWPF MVVM 中的页面特定导航
【发布时间】:2018-01-12 18:09:40
【问题描述】:

如何使用 MVVM 在 WPF 中实现页面特定导航?例如,如果我有一个“设置”页面和一个“帐户”页面,每个页面都有自己独特的页面特定导航,但每个导航项都位于应用程序的同一个容器中。导航容器停靠在应用程序窗口的左侧,并且永远不会改变,但是导航项会根据用户所在的页面而改变。我有两种方法:

  • 为每个页面的每个不同导航创建导航视图和视图模型
  • 创建一个导航视图和视图模型,并根据用户所在的页面相应地动态添加必要的按钮

在我看来,第二个选项似乎更好,因为它更具动态性并且只使用一个视图/视图模型,但是我不确定如何实现这一点。我可以轻松地为一个导航容器编写视图和视图模型,但使其动态化有点棘手。有什么想法吗?

谢谢!

【问题讨论】:

    标签: c# wpf mvvm navigation


    【解决方案1】:

    我认为您想使用 DataTemplate 和 ContentControl,请参阅 Jeremy Alles Blog 以获得一个很好的示例

    所以为了回答你的问题,我将为每个视图创建一个视图和视图模型。

    【讨论】:

    • 感谢您的意见。我去看看博客
    【解决方案2】:

    使用NavigationService 并创建适当的视图和视图模型。

    【讨论】:

    • 谢谢!以前从未听说过 NavigationService。我去看看。
    • 不客气 :) 它有很棒的功能 - 你可以在页面之间传递参数,还有一个堆栈可以让你返回和其他好东西。
    猜你喜欢
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 2016-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    相关资源
    最近更新 更多