Viewとバインドするモデルの共通処理をベースとして作成します。
クラスの名前をBaseBindableModelにしてBaseModelを継承します。
※BaseModelは記事『全モデルのベースを作成する。(IDisposable)』を参照
public abstract class BaseBindableModel : BaseModel
{
}
プロパティチェンジイベントを定義します。
public event PropertyChangedEventHandler PropertyChanged;
プロパティを保存するDictionaryを定義します。
private Dictionary PropertieItems { get; set; }
プロパティの変更通知メソッドを作成します。
public void OnPropertyChanged([CallerMemberName] string propertyName = "")
{
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
GetメソッドとSetメソッドを作成します。
※詳細は記事『ViewModelのバインディングプロパティを簡単に定義する。』を参考
使用例
Viewへの通知まで行ってくれます。
public Class TestBindableModel : BaseBindableModel
{
public double Value
{
get { return base.Get<double>(); }
set { base.Set(value); }
}