WPF 为多个用户控件使用一个 ViewModel
WPF use one ViewModel for multiple UserControls
我搜索了很多关于这个问题的答案,但找不到答案。
我有我的主要 Window
和 4 个不同的 UserControls
。 Window
由所有 4 个 UserControls
.
构成
我有一个 class,它是 Window
的 ViewModel
。
我希望将 Window
的 DataContext
和所有 4 个 UserControls
设置为 Window
的 ViewModel
。
问题是将 class 写为控件的 DataContext
会创建 class 的新实例,因此,我无法使用我正在填充的容器。
有什么办法吗?
DataContext
在 WPF 中继承。
如果您没有为 UserControl
设置 DataContext
,它们将自动继承其父级的 DataContext
(Window
),并且应该使用您的 ViewModel直接。
我搜索了很多关于这个问题的答案,但找不到答案。
我有我的主要 Window
和 4 个不同的 UserControls
。 Window
由所有 4 个 UserControls
.
我有一个 class,它是 Window
的 ViewModel
。
我希望将 Window
的 DataContext
和所有 4 个 UserControls
设置为 Window
的 ViewModel
。
问题是将 class 写为控件的 DataContext
会创建 class 的新实例,因此,我无法使用我正在填充的容器。
有什么办法吗?
DataContext
在 WPF 中继承。
如果您没有为 UserControl
设置 DataContext
,它们将自动继承其父级的 DataContext
(Window
),并且应该使用您的 ViewModel直接。