投稿者 YuO  (社会人) 投稿日時 2012/5/6 04:16:52
個人的にはMVVMもどきの構成を作ってバインドさせることが多いです。
# 時間が無いとfat-VMになりますが……。

制限はあるものの,WinFormsでもINotifyPropertyChangedやIDataErrorInfoは利用可能です。
# IDataErrorInfoは.NET Fx 1.0から存在し,INotifyPropertyChangedは2.0から存在します。

なので,バインディング機構を使ってコントロールのプロパティを変更させることで,
GUI側での明示的なプロパティ変更コードはあまり必要がなくなります。


WPF/Silverlightと違い,
・ListViewやTreeViewでバインドできない
・コマンドバインディングができない
・バインディングの設定が調べにくい (プロパティタブのDataBindingsにまとまってしまう)
・IValueConverterのような機構がない
・PropertyChangedを拾ったタイミングでコンテキストが変わらない
などの違いがあるのは注意が必要です。