Windows Phone - Преобразование Styles.xaml + Mango - PullRequest
2 голосов
/ 01 октября 2011

У меня была сборка приложения с Windows Phone 7.0 SDK. Теперь мне нужно обновить это приложение до Windows Phone 7.1 SDK. Когда я перенес приложение, фон всех моих страниц был изменен на черный. Однако все они были белыми (как и предполагалось), когда я использовал 7.0 SDK. Как это исправить? С 7.0 SDK все мои страницы были определены как:

<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneBackgroundBrush}">
...
</Grid>

PhoneBackgroundBrush определяется в Styles.xaml. Этот файл имеет следующее:

<ResourceDictionary
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:System="clr-namespace:System;assembly=mscorlib">
  <Color x:Key="PhoneBackgroundColor">#FFFFFFFF</Color>
  <SolidColorBrush x:Key="PhoneBackgroundBrush" Color="{StaticResource PhoneBackgroundColor}"/>
  </ResourceDictionary>

Ссылка на Styles.xaml в App.xaml показана ниже:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Resources/Styles.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

Что не так? Как мне вернуть свой фон, чтобы стать белым?

1 Ответ

1 голос
/ 01 октября 2011

См. Эту статью: Переопределение тем в Windows Phone 7.5 (Mango) (Прокрутите вниз для деталей Mango)

Короче: вы больше не можете переопределять унаследованные стили XAML.Вы должны переопределить их в коде C #, например

(App.Current.Resources["PhoneBackgroundBrush"] as SolidColorBrush).Color = Colors.White;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...