我需要更改touggle按钮的默认颜色。 我无法在XAML代码中执行此操作,因为我在运行时从json文件接收颜色。
那么,我可以更改vb或c#代码中的默认颜色吗? 不是背面或前面的颜色,而是开关颜色。
由于
答案 0 :(得分:2)
那么,我可以更改vb或c#代码中的默认颜色吗?
ToggleButton
的开关颜色实际上是视觉状态改变的背景颜色。要更改其默认颜色,您可以重新定义影响此颜色代码的可视状态所使用的主题资源,如下所示:
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。
如果您使用ToggleSwitch
,则需要更新以下两项:
Application.Current.Resources["ToggleSwitchFillOnPointerOver"] = new SolidColorBrush(Colors.Red);
Application.Current.Resources["ToggleSwitchFillOn"]= new SolidColorBrush(Colors.Red);
尝试在样式模板中找到需要更改的资源。