gpt4 book ai didi

wpf - 在容器 View 模型中嵌套 View 模型是否违反 MVVM?

转载 作者:行者123 更新时间:2023-12-04 12:35:32 26 4
gpt4 key购买 nike

我想制作一个由多个 View 组成的布局,每个 View 都有自己的 View 模型。

我还想实现 ViewModel 优先的方法。所以我想在我的 View 中放置一些容器,它们的数据上下文绑定(bind)到容器 View 模型的相应 View 模型属性。然后容器的内容将根据为绑定(bind)的 View 模型类型编写的数据模板加载。

public class CompositVm
{
public FirstPartVm FirstPartVm { get; set; }
public SecondPartVm SecondPartVm { get; set; }
}

我想知道天气嵌套 View 模型是一种很好的做法,它是否与 MVVM 设计模式兼容?

最佳答案

是的。这没有错。这是采用 MVVM 方法的最佳实践。

假设您有一个绑定(bind)到 MainLayoutViewModel 的主布局 View MainLayout。在 MainLayout View 中,您可能有 2 个 subview ,可能将主视图分成 2 行或 2 列,比如 ChildLayout1 绑定(bind)到 ChildLayout1ViewModelChildLayout2 绑定(bind)到 ChildLayout2ViewModel

为此,您可以在MainLayoutViewModel 中创建 subview 模型的实例

ChildLayout1ViewModel ChildLayout1ViewModelInstance = new ChildLayout1ViewModel();
ChildLayout2ViewModel ChildLayout2ViewModelInstance = new ChildLayout2ViewModel();

您可以在 MainLayout.xaml 本身中设置 View 的 DataContext。当我们处理具有非常大的数据绑定(bind)的 View 时,这非常有用。很容易将它们分开并相应地处理事件和数据。

因此,遵循 MVVM 模型绝对是最好的做法。

关于wpf - 在容器 View 模型中嵌套 View 模型是否违反 MVVM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37833201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com