FormsアプリにないWPFの長所

過去のブログのアーカイブ
この記事は前身のブログのアーカイブを引き継いだものです. 画像が正しく表示できないなど,コンテンツの表示に問題がある恐れがあります.

欠点

メモリリークを起こしやすい

リッチなアプリケーションを作れることや、表示させる要素を投げるだけで勝手にやってくれるのは楽なのですが、ネットワークリソースの指定等をするとキャッシュがメモリにたまり込み、メモリリークを起こしやすい、という欠点があります。
楽に勝手にやってくれる機能にはどうしてもなってしまう現象で、直すにはこのような書き方をしない。といった経験でしか直せないものです。
調べれば出てくるんでしょうけど、気が付かずにほっといたらパフォーマンスが一気に低下するなてこともしばしば。その点扱いづらいです。

パフォーマンスが良くない

豊富なカスタマイズができるのが裏目にパフォーマンスが上がりづらいといった欠点があります。
パフォーマンスを上げる方法等もインターネットでよく紹介されているのですが、私の作るアプリケーションでは取り入れれないものが結構多数あるのです。私の使い方が悪いだけなのかもしれませんが
フォームアプリケーションと連携させて作る私の使い方ではパフォーマンスを上げる方法がかなり限られてきて諦めるしかない状態になってるのです。
WPFに完全移行といっても正直使いづらくて完全に移行したい気持ちにならない…

DockやAnchorプロパティがない

wpd-margin
フォームアプリに慣れた身なのでこの2つのプロパティがないのは非常につらい。
この代わりになる機能がMarginプロパティで、Anchorプロパティと同等な動作をします。しかしDockプロパティに当たるプロパティは存在せず、代わりにDockPanelというものを使います。
しかしコントロールを必要以上に貼り付けたくない私には抵抗があるんですよね。そこが私の悩み

サイズ調節のプロパティが動かない

私がWPFを始めたころ、一番初めに苛立ったものが、サイズ関係のプロパティがろくに動作しないということです。原因はMarginを設定していたことにあるのですが、コントロールに表示されている内容に合わせてサイズを調整するという動作を組むのが非常に厄介なことになりました。
解決策はMesureメソッドだったのですが、それでも希望通りに合わせるように心がけるという程度であり、決めた値にしっかり合わせてくれるかどうかは怪しいんですよね。
そこが辛かった。