Prism MVVM
1.BindableBase
1.1. BindableBase的作用:
- Prism库提供了一个基础类BindableBase,这个类实现了
INotifyPropertyChanged
接口。这个接口允许ViewModel(视图模型)通知视图(View)当属性(Property)发生变化时,以便视图可以更新显示。
1.2. Prism的接口驱动特性:
- Prism框架的许多功能,如响应生命周期事件、导航等,都是基于接口的。这意味着Prism并不强制要求开发者使用特定的基础类。
1.3. BindableBase的可选性:
- 尽管Prism提供了BindableBase作为
INotifyPropertyChanged
的实现,以帮助开发者,但它并不强制要求开发者必须使用这个类。开发者可以根据自己的需要选择任何基础类,甚至不使用任何基础类(尽管通常不推荐这样做)。
2.创建属性
在继承自BindableBase
的类中创建属性,并确保这些属性的变化能够通知到用户界面(UI)。具体来说,它介绍了如何使用SetProperty
方法来设置属性值,并确保属性有一个公共的属性和一个私有的后端字段(backing field)。
2.1. 创建属性(Creating Properties):
- 当你在继承自
BindableBase
的类中创建属性时,如果你希望这些属性的变化能够通知到UI,你应该使用SetProperty
方法来设置这些变化。 - 每个属性都应该有一个公共的属性接口(供外部访问和设置),以及一个私有的后端字段,用于实际存储属性值。
2.2. 示例代码:
public class ViewAViewModel : BindableBase
{
private string _message;
public string Message
{
get => _message;