2

選択したテーマに応じて色が変わる solidbrush リソースをアプリに作成したいと考えています。

とにかくこれを行うことはありますか?

4

1 に答える 1

4

わかりました。StandardStyles.xaml にはセクションがあります

ここでは、異なるテーマごとに同じソリッド ブラシ要素を追加できます。

<ResourceDictionary.ThemeDictionaries>
    <ResourceDictionary x:Key="Default">
        <x:String x:Key="BackButtonGlyph">&#xE071;</x:String>
        <x:String x:Key="BackButtonSnappedGlyph">&#xE0BA;</x:String>
        <SolidColorBrush x:Key="ListViewItemSelectedBackgroundThemeBrush" Color="#CEE3F8"></SolidColorBrush>
        <SolidColorBrush x:Key="ListViewItemPointerOverBackgroundThemeBrush" Color="#E0E0E0"></SolidColorBrush>
        <SolidColorBrush x:Key="ListViewItemSelectedPointerOverBackgroundThemeBrush" Color="#CEE3F8"></SolidColorBrush>
        <SolidColorBrush x:Key="ListViewItemSelectedPointerOverBorderThemeBrush" Color="#CEE3F8"></SolidColorBrush>
        <SolidColorBrush x:Key="HeaderBrush" Color="#FF8AA1B8">

        </SolidColorBrush>
    </ResourceDictionary>
    <ResourceDictionary x:Key="Light">
        <SolidColorBrush x:Key="HeaderBrush" Color="#FFCEE3F8">

        </SolidColorBrush>
    </ResourceDictionary>
    <ResourceDictionary x:Key="HighContrast">
        <x:String x:Key="BackButtonGlyph">&#xE0A6;</x:String>
        <x:String x:Key="BackButtonSnappedGlyph">&#xE0C4;</x:String>
    </ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>

ここでは、「Light」テーマを追加し、「HeaderBrush」というソリッド ブラシを 2 つのテーマに追加しました。

このブラシを実装するには、要素にリソースとして追加するだけです。そのようです...

<AppBar x:Name="BottomAppBar1"   Padding="10,0,10,0" BorderBrush="Blue"  BorderThickness="0 1 0 0" Background="{ThemeResource HeaderBrush}"  AutomationProperties.Name="Bottom App Bar" Opened="BottomAppBar1_Opened" Closed="BottomAppBar1_Closed">

ここでブラシを背景色に設定すると、テーマに合わせて自動的に変化します。

于 2013-02-01T20:06:31.160 に答える