ObservableObject
概要
public class ObservableObject : System.ComponentModel.INotifyPropertyChanged
- 観測可能(observable)なプロパティをもつオブジェクト(モデル)の基底クラスに使う。
名前空間
GalaSoft.MvvmLight
アセンブリ
- GalaSoft.MvvmLight
メソッド
GetPropertyName
GetPropertyName
protected static string GetPropertyName<T>(System.Linq.Expressions.Expression<System.Func<T>> propertyExpression)
概要
-
propertyExpression
で指定するプロパティの名前を得る。
戻り値
-
propertyExpression
で指定するプロパティの名前。
例外
-
System.ArgumentNullException
:propertyExpression
がnull
である。 -
System.ArgumentException
:propertyExpression
で指定したプロパティが存在しない。
RaisePropertyChanged
RaisePropertyChanged
public virtual void RaisePropertyChanged(string propertyName = null)
public virtual void RaisePropertyChanged<T>(System.Linq.Expressions.Expression<System.Func<T>> propertyExpression)
概要
-
propertyName
やpropertyExpression
で指定するプロパティに対してPropertyChanged
イベントを起こす。
例外
-
System.ArgumentException
: 指定した名前を持つプロパティが存在しない。
Set
Set
protected bool Set<T>(string propertyName, ref T field, T newValue)
protected bool Set<T>(System.Linq.Expressions.Expression<System.Func<T>> propertyExpression, ref T field, T newValue)
protected bool Set<T>(ref T field, T newValue, string propertyName = null)
概要
-
field
にnewValue
を代入する。 -
field
の値が変化したら、propertyName
やpropertyExpression
を引数にしてRaisePropertyChanged
メソッドを呼ぶ。
戻り値
-
field
の値が変化したらtrue
、変化しなかったらfalse
を戻す。
例外
-
System.ArgumentException
: 指定した名前を持つプロパティが存在しない。