WPF 为多个用户控件使用一个 ViewModel

WPF use one ViewModel for multiple UserControls

我搜索了很多关于这个问题的答案,但找不到答案。

我有我的主要 Window 和 4 个不同的 UserControlsWindow 由所有 4 个 UserControls.

构成

我有一个 class,它是 WindowViewModel

我希望将 WindowDataContext 和所有 4 个 UserControls 设置为 WindowViewModel

问题是将 class 写为控件的 DataContext 会创建 class 的新实例,因此,我无法使用我正在填充的容器。

有什么办法吗?

DataContext 在 WPF 中继承。

如果您没有为 UserControl 设置 DataContext,它们将自动继承其父级的 DataContextWindow),并且应该使用您的 ViewModel直接。