2010-09-27 3 views

ответ

10

Существует свойство, чтобы проверить это, скорее, сравнивая фактический ресурс цвет.

Visibility v = (Visibility)Resources["PhoneLightThemeVisibility"]; 

if (v == System.Windows.Visibility.Visible) 
{ 
    // Is light theme 
} 
else 
{ 
    // Is dark theme 
} 
+0

ОК, я думаю, это работает. Я действительно разделял проблемы других в связанной теме о том, что делать, когда/если появляются новые темы. Но я думаю, что это будет хорошо для предстоящего выпуска ... – will

+0

Беспокойство о вещах, которые еще не ходят по слухам (например, другие темы), не похоже на продуктивность. Новая тема, вероятно, вызовет массу проблем для всех, кто создает приложение, которое использует тему. Беспокойство об этом, если и когда будет объявлено. (Я не думаю, что будет - по крайней мере, до WP8) –

0

Если вы намерены обнаружить тему в коде, то здесь решение -

var backColor = Resources["PhoneBackgroundColor"]; 
if (backColor.ToString() == "#FF000000") 
    // Dark theme selected => do something 
else 
    // Light theme selected => do something 

НТН, indyfromoz

+0

Это было хорошо раньше, но RTM введена ресурс «PhoneLightThemeVisibility». –