Интегрированные / системные кисти не меняют свои свойства в зависимости от темы, другой набор кистей включен в зависимости от текущей темы.Вы можете увидеть различные версии этого в %programfiles%\Microsoft SDKs\Windows Phone\v7.1\Design
Я написал custom ResourceDictionary
, который реализует поддержку тем точно так же: путем загрузки соответствующего словаря тем в зависимости отсветлая / темная тема.
Вот пример, который использует его.Он работает в конструкторе Visual Studio так же, как и в Blend, но не поддерживает предварительный просмотр белой темы в Blend, потому что Blend загружает ресурсы способом, который невозможно воспроизвести.
<Application.Resources>
<custom:ThemeResourceDictionary>
<custom:ThemeResourceDictionary.LightResources>
<ResourceDictionary Source="/ThemeManagement;component/Resources/Light.xaml" />
</custom:ThemeResourceDictionary.LightResources>
<custom:ThemeResourceDictionary.DarkResources>
<ResourceDictionary Source="/ThemeManagement;component/Resources/Dark.xaml" />
</custom:ThemeResourceDictionary.DarkResources>
</custom:ThemeResourceDictionary>
</Application.Resources>
Приведенный выше код загружает ресурсыиз двух разных файлов, но их можно так же легко объявить встроенными, как и любой другой ResourceDictionary.
Источник для ThemeResourceDictionary
доступен в моем исходном сообщении в блоге, но он также находится в в другом переполнении стека.вопрос на случай, если мой блог когда-нибудь взорвется.