为什么应用这种渐变风格打破了我的silverlight应用?

时间:2011-01-08 21:48:18

标签: silverlight

我在将一个渐变应用于RadButton时遇到了一些问题。

我的样式资源dictionairy中有一个渐变定义,如下所示:

 <LinearGradientBrush x:Key="GridView_HeaderBackground" EndPoint="0.5,1" StartPoint="0.5,0">
    <GradientStop Color="#FF5B5B5B" Offset="1"/>
    <GradientStop Color="#FF868686"/>
    <GradientStop Color="#FF4F4F4F" Offset="0.42"/>
    <GradientStop Color="#FF0E0E0E" Offset="0.43"/>
</LinearGradientBrush>

当我将此渐变直接应用于RadButton的背景时,一切正常。 这是按钮和模板定义:

按钮

<telerik:RadButton Margin="5,10,5,0"  Click="RadButton_Click" Tag="30" Content="30 Days" Style="{StaticResource SliderButton}" Background="{StaticResource GridView_HeaderBackground}"  />

模板:

 <!-- Style Template for Slider RadButton -->
<Style x:Key="SliderButton" TargetType="telerik:RadButton">

    <Setter Property="Height" Value="30" />
    <Setter Property="Foreground" Value="#FFFFFF" />
    <Setter Property="BorderThickness" Value="0" />
    <Setter Property="Margin" Value="5,2" />
</Style>

然而,当在资源字典中应用此渐变时,我的应用程序将无法加载它只是到达silverlight加载屏幕然后永远不会继续

这是打破我的应用程序的按钮和模板。

按钮:

<telerik:RadButton Margin="5,10,5,0"  Click="RadButton_Click" Tag="30" Content="30 Days" Style="{StaticResource SliderButton}" />

模板:

 <!-- Style Template for Slider RadButton -->
    <Style x:Key="SliderButton" TargetType="telerik:RadButton">
        <Setter Property="Background" Value="{StaticResource GridView_HeaderBackground}" />
        <Setter Property="Height" Value="30" />
        <Setter Property="Foreground" Value="#FFFFFF" />
        <Setter Property="BorderThickness" Value="0" />
        <Setter Property="Margin" Value="5,2" />
    </Style>

当我观察谷歌浏览器中的js错误控制台时,我注意到产生了以下错误:

  

“无法找到资源   名称/密钥ResourceWrapper“

1 个答案:

答案 0 :(得分:3)

需要在“SliderButton”之前定义“GridView_HeaderBackground”。如果它们在同一个Xaml中,则由文档顺序决定。