2017-05-29 75 views
0

我需要更改touggle按钮的默认颜色。 我不能在XAML代码中这样做,因为我在运行时从json文件接收颜色。UWP更改代码中的切换按钮的颜色

所以,我可以更改VB或C#代码中的默认颜色? 不是Back或Fore颜色,而是开关颜色。

感谢

回答

1

所以,我可以改变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); 

尽量找到您所需要的样式模板修改的资源。

+0

我曾试过但没有改变 我必须写任何其他行吗? –

+0

@DanieleP。你使用了“ToggleButton”控件还是“ToggleSwitch”?什么是你的uwp应用程序目标版本? –

+0

OPS我使用ToggleSwitch! –