如何解决根据主题更改设置颜色
我以编程方式设置了文本框的背景颜色:
ColorBrush m_textBoxBackground = ColorBrush(Windows::UI::Colors::LightGray());
但现在我有两个主题黑暗和光明。所以我需要设置主题的初始颜色。
我如何在 c++ winrt 中做到这一点?有什么建议吗?
解决方法
不得不说没有这样的Brush可以根据主题自动变化。您需要手动更改文本框的画笔。您可以设置一个名为 myBrush 的全局 SolidColorBrush 类型变量,然后使用 Color.FromArgb 方法将 rgb 颜色转换为 Brush。如下:
public SolidColorBrush myBrush;
if (App.Current.RequestedTheme==ApplicationTheme.Light)
{
myBrush = new SolidColorBrush(Color.FromArgb(102,255,255));//#66FFFFFF
}
else
{
myBrush = new SolidColorBrush(Color.FromArgb(102,0));//#66000000
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。