我在 WPF 中有一个 C# 项目。我以前使用过 MVC,现在我正在尝试将 MVVM 与 XAML 结合使用。
我有多个模型,我有一个带有 Tabitems 的 GUI 窗口,我有多个 ViewModel。
每个选项卡项都与每个模型相关,因此我为每个模型都有一个 ViewModel。
现在我想使用绑定(bind)(为什么还要使用 WPF/XAML)。如何将按钮绑定(bind)到 ViewModel X 中的命令?
例如。:
我看到很多代码只是绑定(bind)到命令的名称,但由于我有多个 View ,而不仅仅是 1,我该怎么做?我应该创建 1 个 ViewModel 来处理所有其他 ViewModel 吗?
最佳答案
I see alot of code that just binding to the name of the command, but since I have multiple views, and not just 1, how do I do it?
确保您了解绑定(bind)系统的工作原理。您正在绑定(bind)到 DataContext。因此,如果每个单独的选项卡都有一个单独的 DataContext 值集,那么您可以使用命令的名称进行绑定(bind)。
知道了这一点,您就可以继续使用您建立的模式。以我的拙见,我认为它会变得过于复杂。大多数 MVVM 开发人员都在将 View 与 ViewModel 的一对一关系应用到 ViewModel 中(尽管在谈论 UserControl 对象时事情变得很棘手)。不过,没有什么是一成不变的,因此最终取决于您要如何进行。
关于wpf - 如何在一个主窗口中使用多个 ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14277720/