对于我的应用程序中的某个功能,我想检索用户的强调色,然后将其变亮一定量,以提供在应用程序中使用的较淡版本的主题颜色。
有谁知道我怎么能做到这一点?
谢谢。
对于我的应用程序中的某个功能,我想检索用户的强调色,然后将其变亮一定量,以提供在应用程序中使用的较淡版本的主题颜色。
有谁知道我怎么能做到这一点?
谢谢。
将以下内容放入您的 app.xaml.cs
private void setAccentResources()
{
var accent = (Color)Current.Resources["PhoneAccentColor"];
var accent80 = accent;
var accent60 = accent;
var accent40 = accent;
var accent20 = accent;
accent80.A = (byte)(accent.A * 0.8);
accent60.A = (byte)(accent.A * 0.6);
accent40.A = (byte)(accent.A * 0.4);
accent20.A = (byte)(accent.A * 0.2);
Resources.Add("PhoneAccentFullColor", new SolidColorBrush(accent));
Resources.Add("PhoneAccent80Color", new SolidColorBrush(accent80));
Resources.Add("PhoneAccent60Color", new SolidColorBrush(accent60));
Resources.Add("PhoneAccent40Color", new SolidColorBrush(accent40));
Resources.Add("PhoneAccent20Color", new SolidColorBrush(accent20));
}
然后,您可以像这样访问它:
<control Brush="{StaticResource ResourceKey=PhoneAccent40Color}" />
这会调整 Alpha 通道,因此它将开始显示它覆盖的任何内容。如果要调整颜色本身,可以调整 R、G 和 B 值。