UWP在代码中切换按钮中的颜色

时间:2017-05-29 08:05:16

标签: colors uwp toggle

我需要更改touggle按钮的默认颜色。 我无法在XAML代码中执行此操作,因为我在运行时从json文件接收颜色。

那么,我可以更改vb或c#代码中的默认颜色吗? 不是背面或前面的颜色,而是开关颜色。

由于

1 个答案:

答案 0 :(得分:2)

  

那么,我可以更改vb或c#代码中的默认颜色吗?

Toggle​Button的开关颜色实际上是视觉状态改变的背景颜色。要更改其默认颜色,您可以重新定义影响此颜色代码的可视状态所使用的主题资源,如下所示:

public MainPage()
{
    this.InitializeComponent();
    Application.Current.Resources["ToggleButtonBackgroundChecked"] = new SolidColorBrush(Colors.Red);
    Application.Current.Resources["ToggleButtonBackgroundCheckedPointerOver"] = new SolidColorBrush(Colors.Red);
    Application.Current.Resources["ToggleButtonBackgroundCheckedPressed"] = new SolidColorBrush(Colors.Red);
}

XAML

 <ToggleButton              
     Click="Button_Click"
     Content="ToggleButton" />

更多详情请参阅ToggleButton styles and templates

如果您使用Toggle​Switch,则需要更新以下两项:

Application.Current.Resources["ToggleSwitchFillOnPointerOver"] = new SolidColorBrush(Colors.Red);
Application.Current.Resources["ToggleSwitchFillOn"]= new SolidColorBrush(Colors.Red);

尝试在样式模板中找到需要更改的资源。