实时更改Windows 8应用程序背景(C#/XAML)
我正在做一个Windows8应用程序(MetroUI/XAML/C#),设置栏中有一个切换开关。我希望这个开关可以在“亮”和“暗”主题之间实时切换。 我已经在StandardStyles.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
<!-- 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));