我是 avaloniaUI 和 MVVM 社区工具包的初学者。 现在,我正在制作一个 KanbanBoard Windows 应用程序并编写 ViewModel 代码。 我在他们的 github 中红色了 SimpleToDoList。但是我无法理解这些关键字。
他们的视图模型是
公共分部类 MainViewModel : ViewModelBase
但是一些 MVVM 社区工具包是
公共分部类 MainViewModel : ObservableObject 或者 公共部分类 MainViewModel : ObservableCollection 或者 公共部分类 MainViewModel :ObservableRecipient
我想认识他们。 1)如何区别使用这些关键字。 2)我应该在 ViewModel 中使用哪些关键字来显示和保存有关任务或作业的看板。
请回复谢谢。
我会为我糟糕的英语水平道歉。
ObservableObject
是 MVVM 中 ViewModel 的常用基类。
ObservableRecipient
是 ObservableObject 的扩展,充当 Community.Toolkit.Mvvm 中 Messenger
服务的消息接收器。
ObservableCollection
完全是另一回事 - 它是一个 List<T>
扩展,添加了一个在集合中添加/删除项目时触发的事件。许多 WPF 控件(例如 ListBox)将使用此事件在绑定集合更改时自动更新 UI。
对于您的情况,ObservableObject 可能是最合适的,除非您有消息传递需求。