gpt4 book ai didi

wpf - 关于 ViewModel

转载 作者:行者123 更新时间:2023-12-02 00:39:51 24 4
gpt4 key购买 nike

我在努力理解 MVVM 模式 的 ViewModel 部分。我目前的方法是拥有一个没有任何逻辑(重要)的类,除了它实现了 INotifyPropertyChanged。该类只是属性的集合,如果您愿意,也可以是结构,它描述了尽可能小的数据部分。我认为这是我的模型

我编写的大部分 WPF 代码都是配置上述模型的设置对话框。对话框的代码隐藏公开了一个返回模型实例的属性。在 XAML 代码中,我绑定(bind)到该属性的子属性,从而直接绑定(bind)到模型的属性。由于它实现了 INotifyPropertyChanged,因此效果很好。我将此设置对话框视为 View

但是,我还没有真正弄清楚 ViewModel 究竟是什么。我读过的文章建议 ViewModel 应该将 View 和 Model 结合在一起,提供 Model 缺乏的逻辑,但仍然很复杂,无法直接进入 View。这个对吗?在我的示例中,设置对话框的代码隐藏是否会被视为 ViewModel

我只是觉得有点迷茫,希望我的同行能揭穿我的一些假设。我在这里完全偏离轨道了吗?

最佳答案

由于您的模型完全适合您的 View ,即您的 View (设置对话框)可以直接绑定(bind)到模型的数据结构,所以您很幸运,不需要 View 模型。

然而,在许多其他情况下情况并非如此:假设有一个 View 是数据库表的直接映射,但您想要一个与此抽象不完全匹配的用户界面。

以您的示例“设置对话框”为例,假设您的模型直接映射到具有 setting_namesetting_value 字段的数据库表。但是,在您看来,您不希望用户填写某些网格;相反,您希望用户填写一些“用户名”、“邮件地址”等字段。在这种情况下,您可以创建一个 View 模型来公开诸如 UserNameMailAddress 之类的属性,并在内部将它们映射到您的模型。

关于wpf - 关于 ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2955864/

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