WPF导航的标准实践

时间:2016-12-13 21:21:55

标签: c# wpf mvvm

我正在研究WPF中的一个项目,我对它并不熟悉。

我已经建立了程序,但我对导航不满意。 这是一个简单的程序,几个按钮可以将您带到不同的页面。改变页面我解决了以下问题:

            Menu main = new Menu();
            App.Current.MainWindow = main;
            this.Close();
            main.Show();

这可能非常不正确。有关代码隐藏或MVVM的标准实践的知识吗?

2 个答案:

答案 0 :(得分:0)

我有一个项目,我使用标准方法Visibilty并在折叠和可见之间进行了更改。

所以三页=> 3个容器

  • Button1的 - 显示Container1 Collapse Container2,3

  • 将Button2 - 显示Container2 Collapse Container1,3

  • 将Button3 - 显示Container3 Collapse Container1,2

如果你有很多页面,这不是一个很好的方法,但对于2到5页,它还可以。

答案 1 :(得分:0)

您可以查看Paul Stovell的博客文章,了解有关WPF中常见导航选项的更多信息:http://paulstovell.com/blog/wpf-navigation

您可以在定义Frame的视图中实现接口,然后使用此接口注入视图模型,以便能够使用Frame进行导航。这里有一个例子:https://social.msdn.microsoft.com/Forums/sqlserver/en-US/b09bbfd4-05ee-4f62-b5df-77c0792e6ad7/how-to-refresh-the-frame-using-a-view-model-in-c?forum=wpf