はじめに
WPFで独自のUIを作れるユーザーコントロール機能について、ざっくりまとめます
ユーザーコントロールとは
- 独自でUIを作れる機能
- 繰り返し使うUIなどを使いたい場合とかに使える
ユーザーコントロールとカスタムコントロールの違い
- ユーザーコントロールは、既存のコントロールをグループ化する際に使う
- カスタムコントロールは、新規でコントロールを作成する際に使う
また、ユーザーコントロールでは、xamlファイルでプレビューを確認しながら変更できますが、カスタムコントロールの場合はプレビューが表示されません
使用例
普通に作ると、全て直置きでコントロールを配置する必要がありますが、配置するのはアホみたいなので、こんな感じでユーザーコントロールとしてまとめて、簡単に配置できるようになります
内容
このユーザーコントロールは、以下のコントロールをグループ化して作成しています
- ラベル
- テキストボックス
- 参照ボタン
作り方
ユーザーコントロール
- 追加すると、.xamlと.csファイルが作成される
- .xaml:スタイルを記述するもの
- ボタンのサイズとか
- .cs:UIの処理とかを記述するもの
- ボタンのクリック時の処理とか
- .xaml:スタイルを記述するもの
クラス
コントロールの参照
プロパティの利用
- 今回の例では、以下の内容をプロパティで設定できるようにします
- ラベル名
- 選択対象はファイルかフォルダか
- プロパティは、そのままプロパティを定義すると表示されます
-
開始時にプロパティを参照したい場合、コンストラクタではなく、OnApplyTemplate()などのタイミングで参照する必要があります
- コンストラクタで参照してしまうと、nullになってしまいます
- WPF カスタムコントロール初期化時の実行順
- プレビュー変更時もテキストを変更したい場合、依存プロパティというものを利用しますが、結構面倒なので今回は省略します
利用側
- ユーザーコントロールのxaml, クラスを記述したら、一度ビルドする必要があります
-
Ctrl + B
でビルド
-
- ビルドし終えたら、ツールボックスにユーザーコントロールが表示されます
- これをD&Dでウィンドウに持っていけば、配置できます。
さいごに
ユーザーコントロールを駆使して、UIをいい感じに効率的に配置しましょう~
参考