ViewModelBase クラス関連の仕様
ViewModelBase
プロパティ変更通知を実装したビューモデルの基底クラス
構文
public abstract class ViewModelBase : NotifyObject, IDisposable
メソッド
protected bool IsUiThread()
- UI スレッドからのアクセスかどうかを判定する
protected override void RaisePropertyChanged([CallerMemberName] string propertyName = null)
- PropertyChanged イベントを発火します(呼び出し元のスレッドが UI スレッドでない場合には、UI スレッドにて実行を行います)。
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。 protected void InvalidateRequerySuggested()
- CommandManager.RequerySuggested イベントを強制的に発火させます(呼び出し元のスレッドが UI スレッドでない場合には、UI スレッドにて実行を行います)。
public void Dispose()
- リソースの開放を行います。
protected virtual void Dispose(bool disposing)
- リソースの開放を行います。
NotifyObject
プロパティ変更通知を実装した基底クラス
構文
public abstract class NotifyObject : INotifyPropertyChanged
プロパティ
protected Dispatcher UiDispatcher { get; }
- UI スレッドのディスパッチャ
メソッド
-
protected void SetProperty<T>(ref T property, T value, [CallerMemberName] string propertyName = null)
- プロパティ名 property を value の値で書き換え、PropertyChanged イベントを発火します。
-
protected void RaisePropertyChanged<T>(Expression<Func<T>> e)
- PropertyChanged イベントを発火します(RaisePropertyChanged(string propertyName)を呼び出します)。
PropertyHelper.GetName<T>(Expression<Func<T>> e) を用いてプロパティ名を取り出します。 -
protected virtual void RaisePropertyChanged([CallerMemberName] string propertyName = null)
- PropertyChanged イベントを発火します。
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。
イベント
public event PropertyChangedEventHandler PropertyChanged
- PropertyChanged イベント処理用のデリゲート
PropertyHelper
構文
public interface IValidationDictionary
メソッド
public static string GetName<T>(Expression<Func<T>> e)
- 引数で渡されたプロパティから当該プロパティの名前を返します。