Я пытаюсь разработать способ переключения стиля приложения Windows Phone 7 в зависимости от настроек.Стили выглядят так:
- основные стили разделены и определены в WP7Style_Dark.xaml и WP7Style_Light.xaml
- остальные стили объявлены в Styles.xaml
Я использую следующий код для подключения тем в App.xaml.cs:
var dictionaries = Resources.MergedDictionaries;
dictionaries.Clear();
string source = String.Format("/CommonUI;component/Resources/{0}.xaml", value == AppStyleSet.Light ? "WP7Style_Light" : "WP7Style_Dark");
//base styles
var themeStyles = new ResourceDictionary {Source = new Uri(source, UriKind.Relative)};
dictionaries.Add(themeStyles);
var generalStyles = new ResourceDictionary();
generalStyles.Source = new Uri("/CommonUI;component/Resources/Styles.xaml",UriKind.Relative);
dictionaries.Add(generalStyles);
При выполнении, настройка generalStyles.Source выдает исключение (которое является System.Exception, заявляющим 'Неопределенная ошибка').Я обнаружил, что исключение исчезает, если я очищаю Styles.xaml, но это, конечно, не решение.
Что мне делать?
Обновление 2: Винт трассировки стека, вот проблема сужается:
Стили темы определяют цвета темы.Общие стили продолжают нормально загружаться, пока не встретят привязку, как этот
... <Setter Property="Color" Value="{StaticResource HighlightColor}" />
Итак, StaticResource не удается разрешить и выдает исключение.Можно ли этого как-то избежать?