覆盖Silverlight for WP7中的默认资源

时间:2011-12-23 09:20:59

标签: windows-phone-7 styles

即使在浅色主题中,我也希望我的文本框具有白色背景。我查看了它的控件模板并看到了这个

<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 个答案:

答案 0 :(得分:1)

看看这个article ...它包含一些你必须放在app.xaml.cs中的代码。此代码会覆盖已加载的资源。