Extensionsといったら非同期、じゃなくて、その前にイベントですよ!イベント!というわけで、随分手薄になっていたイベント周りの話を増強したいこの頃です。イベントと一口に言っても色々あります。UI(クリックやマウスムーブ)、センサー、変更通知(INotifyPropertyChanged)などなど。中でも一番よく使うのは、UI周りのイベントでしょう。UIの持つTextChangedイベントだのから直接FromEventPatternで変換してしまったら、Viewと密接に結びついてしまってよろしくない。ここはMVVM的にやりましょう。やって?View(UI)が持つネイティブなイベントを、ViewModelの持つ更新通知付きのプロパティに変換します。これはバインディングにより可能です。そこはWPF/SLの仕組みに任せましょう。いうことで、RxでUIに対してプログラミングするというのは、ViewModelの通知に対してプログラミングするという形になります。xaml.csはInitializeだけ、xamlのバインディングは各プロパティへ当てるだけ。詳しくは、最後にソース配布(WPF/SL/WP7全て含む)URLを置いているのでそちらを見てください......実にダサい。