首页 > 解决方案 > 在启动时显示默认视图(用户控件)

问题描述

我正在构建一个具有仪表板、客户和工作票视图的应用程序。当我启动我的应用程序时,我想显示仪表板的视图。我试图在整个应用程序中使用 MVVM,所以我不想在 MainWindow 上设计我的仪表板。

这是我在启动时的 MainWindow。当我启动应用程序时,我希望仪表板视图默认显示在空白处。我已经为内容控件设置了屏幕的那个区域,我只是想知道如何在默认情况下显示这个特定的视图,而不必在启动后单击它的按钮。 l 最好的方法是什么?

标签: c#wpfxamlmvvm

解决方案


因此,据我了解,您的问题是如何在启动时自动显示“仪表板”视图。

正如@aepot 在评论中所说,您首先需要能够根据需要显示“仪表板”视图。这可以通过在 a 中创建“仪表板”视图来完成UserControl(“客户”和“工作票”视图也会发生同样的情况)。这些 UserControls 的工作方式与 a 相同Window(对于这个问题的关注点)。

UserControls 将作为ContentPresenter.

现在有两种选择:

  • ViewModel 中的一个UserControl属性(使用 通知其状态更改INotifyPropertyChanged)绑定到ContentPresenter.
  • 设置一个更复杂的解决方案(可能借助Messenger, 和其他实用程序模式),您可以在其中将先前的模式移动到MainWindow代码隐藏中。

无论哪种情况,您都只需在构造函数中设置属性(第一种情况下为 ViewModel,第二种情况下为代码隐藏)。

这不是一个真正的解决方案,但我希望无论如何我都会有所帮助。


推荐阅读