1
我想設置文本框的背景顏色爲使用樣式的焦點上的白色。 我啓用文本框有一個線性漸變背景默認: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"/>
在最後一個邊框標籤上,我試圖將背景設置爲白色(#ffffff)。現在我在A5的不透明度確實將背景變成了白色,但是它也開始模糊框中的文字。任何更高的不透明度都會使文本不可見,所以我很確定設置該邊框的背景不是正確的方式。
我可以通過StoryBoard以某種方式設置ContentElement的背景顏色嗎?
謝謝。