Visual Studio のプロパティパネルからシステムリソースを開くとデフォルトのスタイルを選ぶことができます
デフォルトのデザインの色や設定を確認するために、こういった方法で探すこともできるのですが大量にあるスタイルを1つずつ確認していくことになるのでかなり面倒です
実は下記のファイルを調べることで、もっと手っ取り早くデフォルトの各コントロールのスタイルテンプレートを確認することができます
%ProgramFiles(x86)%\Windows Kits\8.1\Include\winrt\xaml\design\themeresources.xaml
スタイルのキー名称からおおよその使い道はわかるので、簡単なデザインの変更(色の変更や、余白・線幅の変更など)ならばこのファイルから該当するスタイルキーを調べることで手軽に対応できることがあります
例えば SearchBox の検索ボタンの背景色をオレンジ色に変更したいという場合、SearchBox はそのようなプロパティを持っていないのでスタイルテンプレートをカスタマイズしなくてはならないようにも思えます
しかし、上記の themeresources.xaml を探していくと SearchBoxButtonBackgroundThemeBrush というリソースがあります
<Application x:Class="App2.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:App2"> <Application.Resources> <SolidColorBrush x:Key="SearchBoxButtonBackgroundThemeBrush" Color="#FFD3703E" /> </Application.Resources> </Application>
これを App.xaml に上書きして定義します
#FFD3703E
はオレンジ色のカラーコードです
<Page x:Class="App2.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="using:App2" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <SearchBox Width="128" HorizontalAlignment="Center" VerticalAlignment="Center" /> </Grid> </Page>
そしてページの XAML に SearchBox を置いただけで・・・
検索ボタンがオレンジ色になりました!
スタイルテンプレートを編集するよりずっと少ないコードでデザインが調整できますね