gpt4 book ai didi

Silverlight MVVM 链接模型和 View 模型

转载 作者:行者123 更新时间:2023-12-04 18:17:30 25 4
gpt4 key购买 nike

MVVM 上有很多很好的例子,但我仍然很困惑。

假设您有一个 CustomerModel 和一个 CustomerViewModel。似乎 CustomerModel 上会有一个 Name 属性,而 CustomerViewModel 上会有一个。 CustomerViewModel 上的 setter 将设置 CustomerModel Name 属性,然后调用 OnPropertyChanged(PropName) 以便更新 UI。这真的正确吗?似乎 getter/setter 将被定义两次。如果您有一个具有 50 个属性的模型,那么这将变得非常乏味。

另外,假设我设置了一个 Qty 属性。 ViewModel 更新模型。模型根据新的数量更新其 Value 属性。 ViewModel 如何收到 Model 属性更改的通知?

最佳答案

您的 ViewModel 不必严格封装模型。在您的场景中,CustomerViewModel 可能有一个 Customer 属性,这最终意味着您的 View 绑定(bind)到 Model 属性......它只是通过 ViewModel 来实现的。这是完全合法的。然而,这就是说,封装它通常是有好处的。您的商业模式可能不包括变更通知。在用户单击 OK 按钮之前,您可能不希望用户交互修改业务模型。您的业​​务模型可能会通过错误输入的异常,而您想使用另一种形式的验证。我相信你可以想到其他事情。事实上,我猜大多数时候你会想要封装,所以从写很多毫无意义的中继方法的意义上说,它并不是真的“乏味”。

关于Silverlight MVVM 链接模型和 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/641633/

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