棱镜 MVVM 结构
Prism MVVM Structure
我开始学习 C#,目前正在学习一些 Prism。
我在整个项目结构和界面上遇到了一些困难。你们能帮帮我吗?
我了解到所有 ViewModel 实现 都继承了 BindableBase 接口。但是模型呢?
IE:我有一个员工模型。它具有我的 Class 属性以及我的 Sets 和 Gets 以及 OnPropertyChanged 实现。对吗?
Model implements INotifyPropertyChanged
and ViewModel implements 继承 BindableBase
?
BindableBase 是来自 Prism 的基础 class,用于您的 viewmodels/models。此基础 class 可帮助您实现 INotifyPropertyChanged 并提供 SetProperty 方法以确保您不会忘记触发事件。您可以自己实现 INotifyPropertyChanged 并调用 OnPropertyChanged 方法,但何必呢。
您可以讨论模型是否应该实现 INotifyPropertyChanged
(单独实现,或者继承自 BindableBase
)。
只要您的数据可以通过前端或后端进行更改,并且 UI(或任何其他监视更改的系统)需要 notified/updated,就最容易实现 INotifyPropertyChanged
(/使用 BindableBase
)。如果您的模型中的某个类型始终是只读的,您可以不使用该接口,但在我看来,大多数情况下这是不值得的(如果有一天它不再是只读的并且您有更新错误怎么办)。
您可以在 Prism documentation.
中阅读更多关于 MVVM 模式和 INotifyPropertyChanged 的内容
我开始学习 C#,目前正在学习一些 Prism。 我在整个项目结构和界面上遇到了一些困难。你们能帮帮我吗?
我了解到所有 ViewModel 实现 都继承了 BindableBase 接口。但是模型呢?
IE:我有一个员工模型。它具有我的 Class 属性以及我的 Sets 和 Gets 以及 OnPropertyChanged 实现。对吗?
Model implements INotifyPropertyChanged
and ViewModel implements 继承 BindableBase
?
BindableBase 是来自 Prism 的基础 class,用于您的 viewmodels/models。此基础 class 可帮助您实现 INotifyPropertyChanged 并提供 SetProperty 方法以确保您不会忘记触发事件。您可以自己实现 INotifyPropertyChanged 并调用 OnPropertyChanged 方法,但何必呢。
您可以讨论模型是否应该实现 INotifyPropertyChanged
(单独实现,或者继承自 BindableBase
)。
只要您的数据可以通过前端或后端进行更改,并且 UI(或任何其他监视更改的系统)需要 notified/updated,就最容易实现 INotifyPropertyChanged
(/使用 BindableBase
)。如果您的模型中的某个类型始终是只读的,您可以不使用该接口,但在我看来,大多数情况下这是不值得的(如果有一天它不再是只读的并且您有更新错误怎么办)。
您可以在 Prism documentation.
中阅读更多关于 MVVM 模式和 INotifyPropertyChanged 的内容