Для приложения WP7 я хочу использовать дополнительный цвет, чтобы контрастировать с текущим цветом темы.
Я решил сделать контрастный цвет «красным», если цвет темы уже не был «красным», в этом случае я бы выбрал контрактный цвет «Синий»
Но следующий код не работает, так как он не определяет цвет темы как «Красный», даже если он установлен таким образом и, безусловно, показывает это в приложении.
private void AssessContrastColor()
{
System.Diagnostics.Debug.WriteLine("In assess color");
SolidColorBrush themeBrush = App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush;
Color themeColor = themeBrush.Color;
SolidColorBrush contrastBrush = new SolidColorBrush();
// contrastBrush.Color = ControlPaint.Light(themeColor);
if (themeColor == Colors.Red)
{
contrastBrush.Color = Colors.Blue;
}
else contrastBrush.Color = Colors.Red;
_ContrastThemeBrush = contrastBrush;
}
Код кажется довольно простым, но, глядя на это через отладчик, цвет акцента телефона, когда я его получаю (когда он красный), не # FFFF0000, а что-то немного другое.
В дополнение к этому, я хотел создать контрастный цвет, который был бы немного светлее, чем цвет темы, огляделся вокруг, и казалось, что это можно процитировать немного кода, но затем наткнулся на ' ControlPaint.Light call ', который казался идеальным, но, кажется, не вариант под WP7? Следовательно, закомментировано выше.
Любой совет приветствуется. Спасибо