みんな、ありがとう。
知ってるものも、知らなかったものも、色々キーワードが出てきた。
それぞれの関連も含めて調べてみる。

本棚の肥やしになってる "Pro WPF in C# 2008" もやっと役立つ日が来たかも。

アドバイスを受けて、Heinrich Apfelmus のブログをちょっと見てみたけど、かなり面白い。
まとまった時間が取れる休日にでも本格的に読んでみるよ。
(Conal Elliott のブログより読みやすい英語だ)

wx のプロパティは gtk2hs のそれや OpenGL の StateVar と似たようなモノで、
やはり「値」を設定したり取得したりするものという以上のモノではないのでは。
その値はあくまでそのプロパティの意味する値そのもので、
例えば text プロパティなら String 型しか受け付けない。
そこに「ユーザーが何かした時にはある文字になる」という IO String の値を
設定することはできない。

一応繰り返しておくと、次のような考え方が wx や gtk2hs などのものと思う。

ボタンが押されたイベントでは何を処理するのか?
 ・初めにラベルの文字を変え
 ・次にテキストボックスの背景色を変え
 ・最後にボタンを不活性にする

このような手続き的なものを、次のように宣言的にしたい。

ラベルの text プロパティとは何か?
 ・ボタンプッシュイベントで文字を変えるものだ
テキストボックスの bgclolor プロパティとは何か?
 ・ボタンプッシュイベントで色を変えるものだ
ボタンの enable プロパティとは何か?
 ・ボタンプッシュイベントで False になるものだ