高度なユーザーインターフェース
投稿日時 2015/02/15 21:03:11ゲストさん、こんにちは
高級アプリ製作の極意 ~WPF編~のお部屋へようこそ。
このお部屋では 第11章 の「 高度なユーザーインターフェース 」についてお話したいと思います。
高度なユーザーインターフェースは、TextBlock、TextBox、ButtonをはじめとするWPFで最初から用意されているコントロールを基本のウィンドウに貼り付けるのは変わりません
ただ、 共通のUIというものは設計のうちで出てくる ことがあります
そんなときに、共通の見た目、挙動をするUIの処理をその都度コピー&ペーストして作成しますか
作業効率を上げたいのにソースのコピー&ペーストをしていたら処理の変更を行う時に大変です
そこで、 利用するのがユーザーコントロール と言う機能です
簡単に行ってしまえば共通の見た目、共通の処理を定義したコントロールです
基本のウィンドウとは別のユーザーコントロールにUIを実装していきます。
実装したユーザーコントロールを基本のウィンドウに貼り付ければ共通化完了です
ユーザコントロールの追加
プロジェクトを作成したら基本のウィンドウ(MainWindow.xaml)はほっといてユーザーコントロールを作成していきます
名前を決めて追加しましょう
1度コンパイルを行えばツールボックスに追加 されます
自動でツールボックスに反映するにはVisual Studioの設定が必要です。
(本お部屋の一番したに設定方法を記載しています)
作成したユーザーコントロールを基本のウィンドウに貼り付けます
サンプルの説明
サンプルでは 貼りつけたユーザーコントロールが別々の動きをする (それぞれの状態が保持される)ことを分かりやすくするためにタブコントロールを用意して3つのタブにそれぞれ作成したユーザーコントロールを貼りつけました
TextBoxとButtonは以前にもお伝えしたBindingでメッセージボックス出しています。
今回ちょっと新しいのは TreeViewとListBoxにBindingを利用 しているのと 独自定義したクラスでTemplate表示 を行っているところです。
また、 GridSplitterによるコントロールの幅の簡易調整機能 を設けてみました。
Tempalate表示を利用することでより高度な表示が出来る ようになります。
今回のサンプルだとチェックボックスとテキストを並べて表示してます。
サンプルを動かしてもらった方が早いのでどぞっ
サンプルのダウンロード
自動My UserControl追加設定の手順
コンパイル後にツールボックス内に自作ユーザーコントロールを自動で表示する方法をお伝えします。
Visual Studioの「ツール (T)」から「オプション (O)...」を選びます。
Windowsフォームデザイナーから「ツールボックスを自動取得する」を選んでVisual Studioを再起動します
これであなたも、 高度なUIを1度だけ作成するだけで 色んなアプリに再利用できて コスト激減になること間違いなし ですっ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||