gpt4 book ai didi

silverlight - MVVM专家需要您对MVVM和数据形式的意见

转载 作者:行者123 更新时间:2023-12-03 10:20:08 25 4
gpt4 key购买 nike

据我了解,ViewModel应该从 View 中抽象模型,并添加其他逻辑来处理演示文稿。

我的问题是:

我将如何创建一个数据表单,该数据表单应立即处理订单和详细信息的用户输入。
它应该显示用于输入订单的字段以及用于1个明细的字段。

我的模型将有一个包含OrderDetails列表的订单对象。

OrderEntryForm的ViewModel看起来如何?

我是否需要一个OrderViewModel和一个OrderDetailViewModel以及我的
我的OrderEntryForm将包含OrderViewModel的属性,以及一个OrderDetailViewModel的属性? (是否嵌套ViewModel?)
在这种情况下如何处理验证?既然验证应该接近模型?
特别是当我使用RIA-Service时...
将其放在ViewModel中更有意义吗?

您将从ViewModel提取模型多远?
例子:

 private DateTime _OrderDate;
public DateTime OrderDate
{
get { return _OrderDate; }
set
{
if (_OrderDate != value)
{
_OrderDate = value;
OnPropertyChanged("OrderDate");
}
}
}

这意味着我必须将ViewModel-Property映射到Model-Properties。这里无法利用模型中的验证逻辑...

这个例子:
 public DateTime OrderDate
{
get { return Model.OrderDate; }
set
{
if (Model.OrderDate != value)
{
Model.OrderDate = value;
OnPropertyChanged("OrderDate");
}
}
}

要求传递模型。不仅可以使用模型的验证逻辑,还可以使用耦合...

网络上的大多数示例都显示使用ViewModel的数据形式,这些数据形式只是表的表示,而不是真正的抽象...

我知道,我看到了

stackoverflow.com/questions/744474/combining-net-ria-services-and-mvvm-in-silverlight-3-0

我也读过nikhils博客文章,但这也只处理数据库表中的产品直接映射... =(

我知道很多问题

您对该主题有何看法?
您将如何处理复杂的数据形式?

最佳答案

克里斯,

我遇到了同样的问题,最终以一种糟糕的方式实现了它:-((每个 View 有两个vieModel,但是将父级传递给子级View ...不好的东西)。

从我的错误中得知,下次我将尝试:

  • 生成单个ViewModel,但在 subview 中在数据上下文中传递一个详细信息实体(此详细信息实体不必与代理生成的实体匹配,可能是该实体的容器)。
  • 生成一个单例 Controller 类:该类不会公开给 View ,对 View 将是透明的,只是详细 View 模型将向 Controller 询问该依赖数据,而不是去DAL。

    不知道这是否将是干净的解决方案,必须尝试一下:)。

    我同意你的看法……这种情况还没有真正的例子。

    你怎么认为?

    谢谢
    布劳略

    PS:关于验证,如果我们创建自己的 super 实体,则可以在其中定义验证,就我而言,我也尝试使用部分情况扩展实体,然后可以使用特殊验证来拥有实体myPhoneNumberDetail。
  • 关于silverlight - MVVM专家需要您对MVVM和数据形式的意见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/930137/

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