根据主题更改设置颜色

时间:2021-06-16 11:35:23

标签: uwp winrt-xaml c++-winrt

我以编程方式设置了文本框的背景颜色:

ColorBrush m_textBoxBackground = ColorBrush(Windows::UI::Colors::LightGray());

但现在我有两个主题黑暗和光明。所以我需要设置主题的初始颜色。

我如何在 c++ winrt 中做到这一点?有什么建议吗?

1 个答案:

答案 0 :(得分:1)

不得不说没有这样的Brush可以根据主题自动变化。您需要手动更改文本框的画笔。您可以设置一个名为 myBrush 的全局 SolidColorBrush 类型变量,然后使用 Color.FromArgb 方法将 rgb 颜色转换为 Brush。如下:

public SolidColorBrush myBrush;

if (App.Current.RequestedTheme==ApplicationTheme.Light) 
{ 
myBrush = new SolidColorBrush(Color.FromArgb(102,255,255,255));//#66FFFFFF
} 
else
{ 
myBrush = new SolidColorBrush(Color.FromArgb(102,0,0,0));//#66000000
}  
相关问题