WPF 中的用户控件 VS 页面

UserControl VS Page in WPF

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

我有两个选择。

  1. 我可以在我的 window 中添加一个 <Frame></Frame> 并写一些页面。
  2. 我可以写一些UserControls然后把它们放在ContentControl

当用户触发 MenuItem 单击事件时。

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

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

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

如果您不需要特别隔离,请坚持使用 ContentControl。在 framework is built with regions which are located in different type of controls (e.g. ContentControl, TabControl), not Frame (see docs)

中导航

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

示例:

WPF MVVM navigate views

Navigation with MVVM by Rachel Lim(外部)