はじめに
WPFプロジェクト上で新規の項目の追加を行おうとすると、ユーザコントロールとカスタムコントロールという選択肢がありますが、それぞれの役割についてご存じでしょうか。この記事では、ユーザコントロールとカスタムコントロールについて書いていきます。
ユーザーコントロール、カスタムコントロールのそれぞれの役割
参考ページ
https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/controls/control-authoring-overview
ユーザーコントロール
- 既存のコントロールをひと固まりにしたもの。継承元はUserControl
よくある例としては、検索エリアや、検索結果エリア、入力エリアなどをひとまとまりにして管理したり。 - レイアウトがVisualStudioのプレビュー機能でサクッと見れる。
- パフォーマンスが悪い。(特に繰り返し、同一のユーザーコントロールを複数配置する場合)
カスタムコントロール
- 1つの新しいコントロールとして作成するもの。既存のコントロールでは表現できずカスタマイズする場合はカスタムコントロールを作成する。継承元はControl(それ以外も可)
よくある例としては、検索用のテキストボックス。クリアボタンやサーチアイコンがセットになっているもの。 - レイアウトがVisualStudioのプレビュー機能でサクッと見れない。
- パフォーマンスが良い。(特に繰り返し、同一のユーザーコントロールを複数配置する場合)
それぞれの使いどころ
ユーザーコントロールは画面のXXXエリアなど区切る場合にまとめるような使い方が良いと思います。カスタムコントロールは新しい振る舞いのコントロールを作る場合に利用しましょう。