外部データの利用
投稿日時 2015/02/08 00:26:28ゲストさん、こんにちは
高級アプリ製作の極意 ~WPF編~のお部屋へようこそ。
このお部屋では 第7章 の「 外部データの利用 」についてお話したいと思います。
こちらのお部屋からは 中級者 向けの内容となってきますので難しくなってきますが どんどん進んで頂いてもゆったり追いかけてきて頂いても大丈夫 なのでゲストさんのペースで行きましょう
外部データ その1 ~テーマ~
WPFのUI (ユーザーインターフェース) はどんなものであっても既定の形や色が設定されています。
それらを既定として利用するのですが、 自分好みの既定仕様に変更することが出来る のが WPFのマークアップ言語の面白いところ、とても素晴らしい ところ の一つです。
外部データの利用の1つとしてテーマというものをアプリで設定したいと思います。
テーマも*.xamlファイルで作成しますが、1から色々なUIの仕様を決めるのは大変なので こちら のサイトからテーマを頂いてきましょう
「 WPF Themes 」に数種類のテーマが貼っていますのでお気に入りのテーマを登録しましょう
プロジェクトのルート以下に「Themes」のフォルダを作成して任意の*.xamlを登録します
エクスプローラからドラッグアンドドロップして頂ければ外部のリソースが登録されます。
テーマをアプリ全体に適用するためにApp.xamlを開きます。
"Application.Resources"のエレメント内に1行追加して全体のテーマはこれだって指定します。
追加する文字「
MainWindows.xaml にも1工夫します。
BackGroundのアトリビュートに { StaticResource WindowBackgroundBrush } を設定します。
前回まで真っ白だったウィンドウにグラデーションが適用されたでしょ
余談ですが、画像のVisual Studioの画面は垂直タブを作成して2つ同時に見比べてエディットしています
仕事だと 垂直タブを3つにして作業することも多いですので分割表示はかなりおすすめ です
外部データ その2 ~画像データ~
すんなりと画像データが貼りつけられるのも楽で良いと思うWPFですね
前回のUIの種類について説明した際にもImageのUIに画像を設定しておりましたが、そちらも設定方法を紹介致します
画像を登録したいフォルダを作成してドラッグアンドドロップで 画像ファイルを登録 します。
ImageのUIを貼り付けます。
ImageのUIを選択した状態で プロパティと言う色々な設定を行うことが出来るウィンドウ からSourceを探して登録済みの画像を一覧から選びます。
画像に はJpegやPNGやICOファイルなどを利用 します。
ここでちょっと脱線しますが、XAMLで記述するアトリビュートにどんなものが使用できるか、どんなものがあるのかって説明していないですよね
実際どうかと言うと、UIを選んだ状態でプロパティウィンドウを見るのが手っ取り早いです
と、言うのも UI毎に設定できるアトリビュートが違うのと種類も数十種類あるので説明しきれません 。
今後良く利用するのは紹介しますので色々いじってみて下さい
外部データ その3 ~文字列リソース~
アプリを製作してもし日本国外でも利用したい人がいるとしたら ゲストさんはどうしますか
プログラムやXAMLに 直接日本語で書いていたら翻訳なんてだれかに頼めない ですよね
翻訳する人がプログラマーならまだしもプログラム経験ない人だったら悲しい現実が待っているわけですよ
そこで便利なのが文字列や画像やテキストなどを管理できるリソースファイルです
Resources.resxファイルを開いて表示します。(水平グループタブを作ったので上下に分割済み)
リソースに名前を付けて値を設定します
リソースを利用するための処理を記述します。
予め、Imageに MouseLeftButtonUpのアトリビュートを設定してマウスの左クリックが離された時に呼ばれるイベントを設定してあります。
リソースファイルは 言語別に作成することが出来ますので英語だろうがフランス語だろうがドイツ語だろうがどしどしファイルを増やしていけばよい ことになります。
国際言語対応を行いたい方は「 参考サイト 」をご覧ください。
外部リソースを使うことで 初期時点ではさっぱりな見た目だったWPFのUIが見違えるほどにグレードアップ して 高級感あふれる感じ になりました。
外部リソースもWPFでは大事な要素の一つです
今回はちょっと画像データを奮発したのでデータサイズがチョイ大きめだけど・・・
ぜひ
ダウンロードしてその目で確かめて
くれたまえ~
サンプルのダウンロードはこちらより ->
直近記事のリンク
< | おとは製 WPFミニアプリの紹介 | | | プログラミング時間の短縮 | > |