Silverlight 4 Настройка цвета фона текстового поля в фокусе - PullRequest
1 голос
/ 15 апреля 2010

Я пытаюсь установить цвет фона текстового поля на белый в фокусе, используя стиль. Мое включенное текстовое поле по умолчанию имеет линейный градиентный фон:

    <Setter Property="Background">
        <Setter.Value>
            <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                <GradientStop Color="#e8e8e8" Offset="0.0" />
                <GradientStop Color="#f3f3f3" Offset="0.25" />
                <GradientStop Color="#f4f4f4" Offset="0.75" />
                <GradientStop Color="#f4f4f4"  Offset="1.0" />
            </LinearGradientBrush>
        </Setter.Value>
    </Setter>

У меня определено визуальное состояние фокуса:

 <VisualStateGroup x:Name="FocusStates">
                            <VisualState x:Name="Focused">
                                <Storyboard>
                                    <DoubleAnimation     Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity" To="1" Duration="0"/>
                                </Storyboard>
                            </VisualState>

Вот остальные шаблоны управления:

<Border x:Name="Border" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="1" Opacity="1" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}">
                        <Grid>
                            <Border x:Name="ReadOnlyVisualElement" Opacity="0" Background="#5EC9C9C9"/>
                            <Border x:Name="MouseOverBorder" BorderThickness="1" BorderBrush="Transparent">
                                <ScrollViewer x:Name="ContentElement" Padding="{TemplateBinding Padding}" BorderThickness="0" IsTabStop="False"/>
                            </Border>
                        </Grid>
                    </Border>
                    <Border x:Name="DisabledVisualElement" Background="#A5D7D7D7" BorderBrush="#A5D7D7D7" BorderThickness="{TemplateBinding BorderThickness}" Opacity="0" IsHitTestVisible="False"/>
                    <Border x:Name="FocusVisualElement" Background="#A5ffffff" BorderBrush="#FF72c1ec" BorderThickness="{TemplateBinding BorderThickness}" Margin="1" Opacity="0" IsHitTestVisible="False"/>

В последнем теге Border я пытаюсь установить белый фон (#ffffff). Прямо сейчас у меня есть прозрачность на A5, которая делает фон белым, но это также начинает скрывать текст в окне. Любая более высокая непрозрачность делает текст невидимым, поэтому я уверен, что установка фона этой границы не является правильным способом сделать это.

Можно ли как-то установить цвет фона ContentElement через StoryBoard?

Спасибо.

1 Ответ

0 голосов
/ 17 апреля 2010

Вы пробовали использовать ColorAnimation?

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