WPF中的UserControl VS页面

时间:2018-05-18 09:27:21

标签: wpf user-controls wpf-controls

我正在编写一个简单的应用程序,它有一个菜单,当用户选择每个MenuItem时,我想更改窗口的内容以显示所选内容。

我有两个选择。

  1. 我可以在我的窗口添加<Frame></Frame>并写一些页面。
  2. 我可以写一些UserControls并将它们放在ContentControl
  3. 当用户触发MenuItem点击事件时。

    所以我很困惑为这个目的选择正确的选择。

1 个答案:

答案 0 :(得分:0)

使用Frame / Pages或ContentControl / Views可以成功实现导航。这是一个选择问题。

然而,Frame / Page有一些陷阱,例如page.DataContext not inherited from parent Frame?

如果您不需要专门隔离,请坚持使用ContentControl。 框架中的导航是使用位于不同类型控件(例如ContentControl,TabControl)的区域构建的,而不是框架(see docs

简单导航的另一种方法是基于ViewModel。

示例:

WPF MVVM navigate views

Navigation with MVVM by Rachel Lim(外部)