Model 层由于 ViewModel 层用了 INotifyPropertyChanged 的新的触发方法 Model 层只能用字段,使用原触发方法可以用属性。
public class ModelTemplate
{
public int id;
public string title;
public DateTime releaseDate;
public string genre;
public decimal price;
}
ViewModel 需要继承 ViewModelBase
类。属性:
public int ItemScore
{
get => _scoreItem.score;
set => SetField (ref _scoreItem.score, value);// 新触发方法
}
View 层需要继承 ViewBase<T>
类。
需要使用 InitViewModel () 方法初始化 ViewModel。
需要使用 BindText () 方法绑定 UI。
BindText () 参数分别为 UI 控件、ViewModel 属性名、ViewModel 属性的 get 委托。
InitViewModel (_scoreItemViewModel);
BindText (nickName,nameof (_scoreItemViewModel.ItemNick),()=>_scoreItemViewModel.ItemNick);
PropertyChangedEventHandler 委托
- 新建项目
- 初始化场景
- 普通 UI 脚本
- 分离 Model
- 分离 ViewModel
- 抽象 ViewModel
- 抽象 View