MVVMを使う場合、何度も書いてる気がするコードをスニペットにしてまとめておくエントリー。
他に足すものがあれば随時追加する。
ViewModelBase
XAMLからバインドするビューモデルのベースクラスのスニペット。
- public class ViewModelBase : INotifyPropertyChanged
- {
- #region INotifyPropertyChanged Members
- public event PropertyChangedEventHandler PropertyChanged;
- public void NotifyChanged( string propertyName )
- {
- if ( string.IsNullOrEmpty( propertyName ) )
- throw new ArgumentNullException( "Unknown Property : " + propertyName );
- if ( PropertyChanged != null )
- PropertyChanged( this, new PropertyChangedEventArgs( propertyName ) );
- }
- #endregion
- }
ICommandに関するスニペット
ワーニングが不要な場合は以下のpragma文を用いて抑制する。
- public class MyCommand : ICommand
- {
- #pragma warning disable 67
- public event EventHandler CanExecuteChanged;
- #pragma warning restore 67
- public bool CanExecute( object parameter )
- {
- // throw new NotImplementedException();
- /* do something */
- }
- public void Execute( object parameter )
- {
- // throw new NotImplementedException();
- /* do something */
- }
- }