Изменение значения цвета XAML относительно другого цвета XAML? - PullRequest
2 голосов
/ 26 марта 2012

У меня есть два цвета XAML следующим образом.

<Color x:Key="DefaultColor">SteelBlue</Color>
<Color x:Key="LightDefaultColor">LightSteelBlue</Color>

Я хочу изменить Цвет LightDefaultColor относительно Цвета по умолчанию, используя только XAML.

Как если бы я дал SteelBlue, я должен автоматически выбрать более светлый цвет, чем SteelBlue для LightDefaultColor.

Я не хочу использовать код C # ..

Note: На самом деле не LightSteelBlue для SteelBlue, но он должен быть легче, чем SteelBlue.

Ответы [ 2 ]

1 голос
/ 26 марта 2012

Не может быть сделано в чистом XAML.Вы можете создать ValueConverter в коде, который затем будет применен в XAML.

В качестве альтернативы, если вы действительно действительно хотите 100% XAML, лучшее, что вы могли бы получить, это наложить 2 слоя друг на друга.Один с базовым цветом с непрозрачностью около 70% поверх элемента белого цвета с непрозрачностью 100%.

0 голосов
/ 28 марта 2012

Вы можете создать расширение разметки , которое будет использовать цвет по умолчанию через StaticResource, чтобы вернуть его более светлый оттенок. (Относительно только XAML: весь XAML зависит от кода, независимо от того, написан ли он вами или разработчиками фреймворка, вряд ли имеет значение)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...