gpt4 book ai didi

wpf - 在 View 模型中拥有 View 模型是不是很糟糕?

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

所以我检查了this post和其他几个讨论类似情况的人,但仍然没有找到我试图解决的问题的最佳解决方案。

在我的 mvvm 应用程序中,每个 View 都有一个 View 模型。我想让 View 模型尽可能平坦,但是在与可观察集合绑定(bind)时似乎并不实用。例如,如果我有一个显示客户个人资料信息的页面,并且其中一个字段是一组用于事件订阅的复选框。我会有一个看起来像这样的 View 模型:

public class ClientViewModel
{
public class SubscriptionViewModel
{
public SubscriptionModel Subscription {get;set;}
public bool IsChecked {get;set;}
}

public string Name {get;set;}
public string Email {get;set;}
...
public ObservableCollection<SubscriptionViewModel> Subscriptions {get;set;}
}

因为额外的 IsChecked不属于 SubscriptionModel 的属性,我必须创建一个单独的 SubscriptionViewModel并将其嵌套在客户端中。有什么更好的替代方法可以做到这一点,这样我就不必在 View 模型中使用 View 模型?

最佳答案

对我来说,由其他几个组成 VM 非常好。我经常这样做。有时是因为需要重用部分,有时只是为了在代码中有更好的可读性。
每个 VM 仍然有一个对应的 View 。所以有一个“内部 View 模型”的 View 以及一个“组合 View 模型”的 View 。

不过,我不会使用嵌套的公共(public)类。我将他们视为“一等公民”。

我最近遇到的情况是在客户页面和发票页面上显示一个小的产品信息。
所以我决定创建一个 ProductOverviewViewModel 和一个 ProductionOverviewView,两者都在客户和发票 View / View 模型中使用。

关于wpf - 在 View 模型中拥有 View 模型是不是很糟糕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28587282/

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