WPFでコントロールの管理がUIElementで統一的な管理が可能になりました。
コントロール同士のネスト関係も従来のコンテナーの概念でなく、シンプルなネスト概念で記述可能になりました。
同時に,位置とサイズを保持するインスタンスが変わったようです。いままでは、
txtbox.height=xx;textbox.width =xx; textbox.top=xx;textbox.left=xx;
のように個々のコントロールが LocationとSizeのプロパティを持つ仕組みだったのが、親側(?)が個々のコントロールの位置を保持するようになったのですね。
コントロール部品の性質/役割から見るとスッキリした分類になったと思います。ここまでプロパティ分類を換えたのは英断ですよね。
同時に、ClientWindowの再描画という発想が無くなってます。GDI/GDI++とは別物になるので、UIロジックは書き直しになりますね。
旧来からの人たちの言い分が聞こえて来そうです。「過去のソースとの互換性がない。使えない。.netのUIに馴染めかけたのに又、振り出しか。」
我々の仕事のこの人たちに説明することも含まれるんですよね。今まで以上にこのほうが難しくなったと感じてます。
コロンブスの卵で、WPFの作りに接してしまうと、従来のGDI/GDI++の再描画の仕組みとコントロールの管理の仕組みが野暮ったく感じてしまいます。
私的には、VS7.0から .NETに変わったことより, GDI/GDI++から WPFに変わったことのほうが、衝撃が大きいです。
毎度言う事ですが、実業務への普及は当分先になりそうですね。