1

Windows 8 アプリケーション (METRO UI / XAML / C#) を実行しており、設定バーにトグル スイッチがあります。このスイッチで、「明るい」テーマと「暗い」テーマをリアルタイムで選択できるようにします。StandardStyles.xaml で既にテーマを作成しています。

<!-- LIGHT THEME -->

<Style x:Key="LightTheme" TargetType="Panel">
    <Setter Property="Background">
        <Setter.Value>
            <LinearGradientBrush>
                <GradientStop Color="#cdeae5" Offset="0"/>
                <GradientStop Color="#c0dabd" Offset="1"/>
            </LinearGradientBrush>
        </Setter.Value>
    </Setter>
    <Setter Property="ChildrenTransitions">
        <Setter.Value>
            <TransitionCollection>
                <EntranceThemeTransition/>
            </TransitionCollection>
        </Setter.Value>
    </Setter>
</Style>

<!-- DARK THEME -->

<Style x:Key="DarkTheme" TargetType="Panel">
    <Setter Property="Background">
        <Setter.Value>
            <LinearGradientBrush>
                <GradientStop Color="#fea569" Offset="0"/>
                <GradientStop Color="#f63f3b" Offset="1"/>
            </LinearGradientBrush>
        </Setter.Value>
    </Setter>
    <Setter Property="ChildrenTransitions">
        <Setter.Value>
            <TransitionCollection>
                <EntranceThemeTransition/>
            </TransitionCollection>
        </Setter.Value>
    </Setter>
</Style>

トグル スイッチを使用してリアルタイムで選択するにはどうすればよいですか? 私はそれが次のようなものになると思います:

private void ThemeSwitch_Toggled(object sender, RoutedEventArgs e)
    {
        if (ThemeSwitch.IsOn)
        {
            // LIGHT THEME
            // TEXT SHOWING "Light Theme"
        }
        else
        {
            // DARK THEME
            // TEXT SHOWING "Dark Theme"
        }

    }

しかし、それが私ができる限りのことです。

前もって感謝します。C# と XAML でプログラミングするのはこれが初めてです。

4

2 に答える 2

0

以下のC#コードを使用

grdMain.Background = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 123, 183, 42));    
于 2015-03-13T14:11:44.633 に答える