2010-04-15 3 views
1

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

<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?

Спасибо.

ответ

0

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

Смежные вопросы