Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
实时更改Windows 8应用程序背景(C#/XAML)_C#_Xaml_Background_Switch Statement_Toggle - Fatal编程技术网

实时更改Windows 8应用程序背景(C#/XAML)

实时更改Windows 8应用程序背景(C#/XAML),c#,xaml,background,switch-statement,toggle,C#,Xaml,Background,Switch Statement,Toggle,我正在做一个Windows8应用程序(MetroUI/XAML/C#),设置栏中有一个切换开关。我希望这个开关可以在“亮”和“暗”主题之间实时切换。 我已经在StandardStyles.xaml上创建了主题: <!-- LIGHT THEME --> <Style x:Key="LightTheme" TargetType="Panel"> <Setter Property="Background"> <Setter.Valu

我正在做一个Windows8应用程序(MetroUI/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>
但那是我能走的最远的路了


提前谢谢。这是我第一次用C#和XAML编程。

似乎我无法实时更改主题:

注意应用程序启动时应用主题。应用程序运行时无法更改主题


好吧,那太糟糕了。

看来我无法实时更改主题:

注意应用程序启动时应用主题。应用程序运行时无法更改主题

好吧,那太糟糕了。

使用下面的c代码

使用下面的c代码


这将改变背景颜色,但这如何回答关于主题的问题?这将改变背景颜色,但这如何回答关于主题的问题?
private void ThemeSwitch_Toggled(object sender, RoutedEventArgs e)
    {
        if (ThemeSwitch.IsOn)
        {
            // LIGHT THEME
            // TEXT SHOWING "Light Theme"
        }
        else
        {
            // DARK THEME
            // TEXT SHOWING "Dark Theme"
        }

    }
grdMain.Background = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 123, 183, 42));