WPFでは、トップレベルウィンドウだけが本物のウィンドウであり、その中のコントロールはすべて、あたかもそこにコントロールがあるかのように描画されるだけであるらしい。
ということは、個々のコントロールがウィンドウハンドルを持たなくなるわけであり、それはつまり、Win32 APIを使ってWPFコントロールを操作できないことを意味する。
従来の.NET Frameworkでも、(カバーする必要がない部分を除いても)Win32 APIをすべてカバーしきれているとは言えない状態だった。
WPFでは、それがさらに進むのだろうか。
これまでできていたことができなくなるというのは退化であろう。
WPFをアンマネージアプリから使う方法は今のところ公開されていない。WPFの全機能は使えないにしても、その基礎にあるアンマネージ部分(MILCORE)は使えてもよさそうなものだろうに、Microsoftが使わせないのだろう。
そこには、Win32 APIを捨てさせる意図も見て取れる。進化ではなくて別のものになってしまったということであれば、比較すれば進化した部分も退化した部分もあるだろうが、比較すること自体が無意味であるとも言える。
今はその過渡期にある。ここをどう乗り切るか。
個人的には、WPFは下策であるように思えてならない。