質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

Visual Studio 2013

Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

Q&A

解決済

2回答

11181閲覧

複数回使う文字や、背景の色を定義したい。

b1ackc0ffee

総合スコア267

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

Visual Studio 2013

Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

0グッド

0クリップ

投稿2015/09/03 05:40

編集2015/09/03 05:42

お世話になります。

現在、VisualStudio2015でストアアプリを作っています。
xamlでデザインを書いている段階です。

何度も使用する、Foregroundやbackgroundの色をグローバル設定?
で定義して使ったほうが楽かと思うのですが、どのように記述するのがベターでしょうか?

Xaml

1<Page.Resources> 2 <Style x:Key="Gray" TargetType="Grid"> 3 <Setter Property="Background" Value="#D6D8D4"/> 4 </Style> 5 <Style x:Key="White" TargetType="Textblock"> 6 <Setter Property="Background" Value="#00A6C7"/> 7 </Style> 8 <Style x:Key="mizuiro" TargetType="Textblock"> 9 <Setter Property="foreground" Value="#FF0089AA"/> 10 </Style> 11</Page.Resources>

だと、Page.Resourcesが冗長な気がします。

あと、デフォルトでは文字カラーがWhiteになっているのですが、
変更することは可能でしょうか?
エディタではなく、実際に反映されるデフォルトの文字色設定です。

宜しくお願い致します。

※このサイトを参考にしました
http://www.atmarkit.co.jp/fdotnet/chushin/introsl_05/introsl_05_01.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

こんにちは。
少しづつステップアップされてますね。

下記リンクのうちの「第1段階:リソースディクショナリ」を参考にするのが良いと思います。
http://qiita.com/kenji4569@github/items/764ca65af20d1b0277a1

HTMLにおけるCSSのような感覚で使うことが可能です。
(語弊が無いことを祈りますが…)

色やサイズのみを設定しておくことも可能ですし、コントロール種別毎のデフォルトフォントや色、サイズなどを定義することも可能です。

これを試してみて、もしわからなければまた聞いてみてください。

投稿2015/09/03 05:46

Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

b1ackc0ffee

2015/09/07 04:51

こんにちは、お世話になります。 おかげさまで、有難うございます嬉しいです(^^♪ ---リンク先確認しました。 第1段階: リソースディクショナリ これは、習得済みです^^ 手で覚えたのを頭で理解できました。 Page.Resourceと同じでしょうか やはり、ページ毎にStaticResourceを指定するやり方しかないでしょうか? 第2段階: テンプレートコントロール いきなり難易度が高くなりました。。 外部とは、同ソリューション内の違うプロジェクトや、違うファイルのことでしょうか? 正直何が書かれているか読むことができません。 第3段階: ユーザーコントロール PHPでいうユーザ関数ですよね? 少しC#でボタンにタップ、クリックイベントをつけて学びました。 今回の使い方として、どうすればいいかアイディアが思い浮かびませんが>、、 第4段階: (部分)ページ こちらも、まだ解読できるレベルに達していません。 --- 【知ってる色指定方法まとめ】 ※<Grid Background="#FFECECEA">と直接各以外のグローバル設定 ① <Color x:Key="Color_01">#FF3A6EF8</Color> <Color x:Key="Color_02">#FFF65082</Color> ------------------------------ ② <SolidColorBrush x:Key="Brush_01" Color="{StaticResource Color_KokunaiSaiken}"/> <SolidColorBrush x:Key="Brush_02" Color="{StaticResource Color_02}"/> ------------------------------ ③ <Page.Resources> <Style x:Key="BackgroundStyle" TargetType="Grid"> <Setter Property="Background" Value="White"/> </Style> <Style x:Key="TextStyle" TargetType="TextBlock"> <Setter Property="ForeGround" Value="Black"/> </Style> </Page.Resources> ------------------------------ ④冒頭に書く <Page --省略-- Width="1920" Height="1200" Background="red" >省略 </Page> ■□■□■□■□■□■□■□■□■□■□■□■□■ このレベルですみません。 宜しくお願い致します。
guest

0

ベストアンサー

こんにちは。

やはり、ページ毎にStaticResourceを指定するやり方しかないでしょうか?

こちらで確認手段がないので、ちゃんとした回答にならず、申し訳ないのですが、
ストアアプリに、App.xamlなどはありますか?
もしあるのであれば、こちらに登録しておけばページ毎に記述する必要はなくなると思います。

<Application.Resources> <Style x:Key="BackgroundStyle" TargetType="Grid"> <Setter Property="Background" Value="White"/> </Style> <Style x:Key="TextStyle" TargetType="TextBlock"> <Setter Property="ForeGround" Value="Black"/> </Style> </Application.Resources>

投稿2015/09/07 05:40

daichan

総合スコア225

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

b1ackc0ffee

2015/09/07 09:33

ご意見有難うございます。 App.xaml ありますよ^^ 必ずApp.xamlで始まるみたいです。 現在はチームプロジェクトですので、共通のものはApp.xamlのResourcesに定義して(<Application.Resources><ResourceDictionary>)、 自分しか使わなさそうなのは、Page.xamlのResourcesに定義して使用しています。 ふと思ったのが、デフォルトでは文字カラーがWhiteだったので、 そのデフォルト指定を変更することは可能でしょうか? やはりStaticResourceをその都度かかないといけないのでしょうか? その意見が多いようなので、やはりそれが1番簡単なやりかたなのでしょうか? 宜しくお願い致します。
b1ackc0ffee

2015/09/07 09:40

つまり、Styleを指定していないときには、 型がint(整数)ならForegroundがBlackで、FontSizeが20、 型がString(文字)ならForegroundがWhiteで、FontSizeが22で、FontFamilyがAR CENA など、、、、 になるように設定できるかが知りたいです^^ そうすると、Style="{StaticResource hogehoge}"と毎回書かなくて済む(見落としが減る)からです。 宜しくお願い致します。
daichan

2015/09/07 10:05

私が作っているものも文字色を変えています。 私の場合は、App.xamlにPageのStyleを定義し、そこに色の定義をしておいて、各PageはそのStyleを割り当てるようにしています。
b1ackc0ffee

2015/09/08 01:53

そうですよね^^ App.xamlに記述した場合、インクルードする必要はないですよね? using~~~...とかしなくても、使えますよね?
daichan

2015/09/08 02:25

インクルード?using?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問