2011年9月11日日曜日

WPFよく使うコードのスニペット

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 */
  }
 }