WP7] Dynamic Color для понимания темы ИЛИ Как определить динамическое значение для свойства в пользовательском ресурсе в App.xaml? - PullRequest
1 голос
/ 16 октября 2010

Я делаю приложение для Windows Phone 7 (использую Visual Studio 2010 Express для Windows Phone RTM), и у меня возникли некоторые проблемы с осознанием темы (светло / темно), особенно с цветами.В основном я хочу сделать то же самое, что телефон делает внутренне при использовании статических ресурсов цветов / кистей.Например, если я объявлю:

<Border Background="{StaticResource PhoneBackgroundBrush}" />

Граница будет иметь черный фон с темной темой и белый со светлым.Итак, я хочу иметь ресурс ... скажем, MyBackgroundBrush, и он будет использоваться как:

<Border Background="{StaticResource MyBackgroundBrush}" />

И он будет иметь, возможно, синий для темной темы и красный для светлого.1009 *

Итак, мой вопрос: как я могу определить такой ресурс и поведение?

1 Ответ

1 голос
/ 16 октября 2010

См. вопрос об обнаружении темы . Это позволит вам определить тему, а затем использовать эту информацию для настройки фоновой кисти, заменив ее в ресурсах приложения:

App.Current.Resources.Remove("MyPhoneBrush");
App.Current.Resources.Add("MyPhoneBrush", value);

Вы можете определить обе цветные кисти с именем в xaml, а затем установить одну или другую в качестве значения времени выполнения MyPhoneBrush. вы, вероятно, захотите установить один из них по умолчанию, чтобы все работало и во время разработки ...

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