ViewModelBaseクラス(MVVM Light Toolkit リファレンス)


ViewModelBase

概要

public abstract class ViewModelBase : ObservableObject, ICleanup
  • MVVMパターンのビューモデルの基底クラスに使う。
名前空間
  • GalaSoft.MvvmLight

アセンブリ

  • GalaSoft.MvvmLight

メソッド

コンストラクター

コンストラクター
public ViewModelBase()
public ViewModelBase(GalaSoft.MvvmLight.Messaging.IMessenger messenger)
概要
  • 引数をMessengerInstanceプロパティに設定する。
  • 引数がない場合、MessengerInstanceプロパティにnullを設定する。

Broadcast

Broadcast
protected virtual void Broadcast<T>(T oldValue, T newValue, string propertyName)
概要
  • プロパティ名(propertyName)、元の値(oldValue)、新しい値(newValue)を指定し、PropertyChangedMessageを送る。

Cleanup

Cleanup
public virtual void Cleanup()
概要
  • ICleanupインターフェイスの実装。
  • MessengerInstanceからこのインスタンスの登録を解除する。
  • その他のクリーンアップ処理が必要な場合は、このメソッドをオーバーライドし、オーバーライドしたメソッドからこのメソッドを呼ぶこと。

RaisePropertyChanged

RaisePropertyChanged
public virtual void RaisePropertyChanged<T>(string propertyName = null, T oldValue = null, T newValue = null, bool broadcast = False)
public virtual void RaisePropertyChanged<T>(System.Linq.Expressions.Expression<System.Func<T>> propertyExpression, T oldValue, T newValue, bool broadcast)
概要
  • 指定したプロパティを引数にして、RaisePropertyChangedメソッドを呼ぶ。
  • broadcasttrueの場合、Broadcastメソッドを呼ぶ。
例外
  • System.ArgumentException: 指定した名前を持つプロパティが存在しない。

Set

Set
protected bool Set<T>(string propertyName, ref T field, T newValue = null, bool broadcast = False)
protected bool Set<T>(System.Linq.Expressions.Expression<System.Func<T>> propertyExpression, ref T field, T newValue, bool broadcast)
protected bool Set<T>(ref T field, T newValue = null, bool broadcast = False, string propertyName = null)
概要
  • fieldnewValueを代入する。
  • fieldの値が変化したら、propertyNamepropertyExpressionを引数にしてRaisePropertyChangedメソッドを呼ぶ。
  • broadcasttrueの場合、Broadcastメソッドを呼ぶ。
戻り値
  • fieldの値が変化したらtrue、変化しなかったらfalseを戻す。
例外
  • System.ArgumentException: 指定した名前を持つプロパティが存在しない。

プロパティ

IsInDesignMode

IsInDesignMode
public bool IsInDesignMode { get; }
概要
  • デザイン・モード(Visual StudioやBlendで編集中である状態)かどうかを戻す。

IsInDesignModeStatic

IsInDesignModeStatic
public static bool IsInDesignModeStatic { get; }
概要
  • デザイン・モード(Visual StudioやBlendで編集中である状態)かどうかを戻す。

MessengerInstance

MessengerInstance
protected GalaSoft.MvvmLight.Messaging.IMessenger MessengerInstance { get; set; }
概要
  • Broadcastメソッドが使うIMessengerインターフェイスのインスタンス。
  • nullが設定された場合、MessengerクラスのDefaultプロパティを戻す。

参照