2011年9月11日日曜日

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

MVVMを使う場合、何度も書いてる気がするコードをスニペットにしてまとめておくエントリー。
他に足すものがあれば随時追加する。

ViewModelBase

XAMLからバインドするビューモデルのベースクラスのスニペット。

  1.    
  2. public class ViewModelBase : INotifyPropertyChanged  
  3. {  
  4. #region INotifyPropertyChanged Members  
  5.  public event PropertyChangedEventHandler PropertyChanged;  
  6.   
  7.  public void NotifyChanged( string propertyName )     
  8.  {     
  9.   if ( string.IsNullOrEmpty( propertyName ) )     
  10.    throw new ArgumentNullException( "Unknown Property : " + propertyName );  
  11.   
  12.   if ( PropertyChanged != null )     
  13.     PropertyChanged( thisnew PropertyChangedEventArgs( propertyName ) );     
  14.  }  
  15. #endregion  
  16. }  

ICommandに関するスニペット

ワーニングが不要な場合は以下のpragma文を用いて抑制する。

  1.    
  2.  public class MyCommand : ICommand  
  3.  {  
  4. #pragma warning disable 67  
  5.   public event EventHandler CanExecuteChanged;  
  6. #pragma warning restore 67  
  7.     
  8.   public bool CanExecute( object parameter )  
  9.   {  
  10.    // throw new NotImplementedException();  
  11.    /* do something */  
  12.   }  
  13.     
  14.   public void Execute( object parameter )  
  15.   {  
  16.    // throw new NotImplementedException();  
  17.    /* do something */  
  18.   }  
  19.  }