переопределение ресурсов по умолчанию в Silverlight для WP7 - PullRequest
0 голосов
/ 23 декабря 2011

Я хочу, чтобы у моего текстового поля был белый фон даже в светлой теме. Я посмотрел в его шаблон управления и увидел это

<VisualStateGroup x:Name="FocusStates">
    <VisualState x:Name="Focused">
        <Storyboard>
            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="EnabledBorder" Storyboard.TargetProperty="Background">
                <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneTextBoxEditBackgroundBrush}" />
            </ObjectAnimationUsingKeyFrames>

....

Похоже, это устанавливает кисть для ресурса PhoneTextBoxEditBackgroundBrush так

Я создал следующий ресурс в сетке, который содержит текстовое поле.

<Grid.Resources>
    <SolidColorBrush x:Key="PhoneTextBoxEditBackgroundBrush" Color="White"/>
</Grid.Resources>

Это не работает. Фон в фокусе не белый.

Создание стиля с шаблоном, который имеет явный белый фон вместо кисти ресурсов, работает, но, на мой взгляд, слишком многословно.

Есть идеи, как переопределить стиль?

P.S. Я видел эту статью http://www.designersilverlight.com/2011/01/17/theme-forcing-for-windows-phone-7-silverlight/. Автор говорит, что переопределение работает для него.

1 Ответ

1 голос
/ 20 апреля 2012

посмотрите на эту статью ... Она содержит некоторый код, который вам нужно будет поместить в ваш app.xaml.cs. Этот код переопределяет уже загруженные ресурсы.

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