ObservableCollections vs ObservableObject vs ObservableRecipient vs ViewmodelBase?

问题描述 投票:0回答:1

我是 avaloniaUI 和 MVVM 社区工具包的初学者。 现在,我正在制作一个 KanbanBoard Windows 应用程序并编写 ViewModel 代码。 我在他们的 github 中红色了 SimpleToDoList。但是我无法理解这些关键字。

他们的视图模型是

公共分部类 MainViewModel : ViewModelBase

但是一些 MVVM 社区工具包是

公共分部类 MainViewModel : ObservableObject 或者 公共部分类 MainViewModel : ObservableCollection 或者 公共部分类 MainViewModel :ObservableRecipient

我想认识他们。 1)如何区别使用这些关键字。 2)我应该在 ViewModel 中使用哪些关键字来显示和保存有关任务或作业的看板。

请回复谢谢。

我会为我糟糕的英语水平道歉。

c# mvvm avaloniaui avalonia community-toolkit-mvvm
1个回答
0
投票

ObservableObject
是 MVVM 中 ViewModel 的常用基类。

ObservableRecipient
是 ObservableObject 的扩展,充当 Community.Toolkit.Mvvm 中
Messenger
服务的消息接收器。

ObservableCollection
完全是另一回事 - 它是一个
List<T>
扩展,添加了一个在集合中添加/删除项目时触发的事件。许多 WPF 控件(例如 ListBox)将使用此事件在绑定集合更改时自动更新 UI。

对于您的情况,ObservableObject 可能是最合适的,除非您有消息传递需求。

© www.soinside.com 2019 - 2024. All rights reserved.