开发者

Convert XAML attributes to Style

I have the following Rectangle:

<Rectangle x:Name="RefractionLayer" Width="200" Margin="-10,0,-80,0" Opacity=".5" >
    <Rectangle.Fill>
        <RadialGradientBrush GradientOrigin="0.396,1.152">
            <RadialGradientBrush.RelativeTransform>
                <TransformGroup>
                    <ScaleTransform CenterX="0.6" CenterY="0.4" ScaleX="2" ScaleY="-1"/>
                    <TranslateTransform X="0.02" Y="0.01"/>
                </TransformGroup>
            </RadialGradientBrush.RelativeTransform>
            <GradientStop Offset="1" Color="#00000000"/>
            <GradientStop Offset="0.4" Color="#FFFFFFFF"/>
        </RadialGradientBrush>
    </Rectangle.Fill>
</Rectangle>

Which I am trying to convert to a Style so I can reuse it. Here is what I have so far:

<Style x:Key="RibbonRefractionRectangle" TargetType="{x:Type Rectangle}">
    <Setter Property="Width" Value="200" />
    <Setter Property="Margin" Value="-10,0,-80,0" />
    <开发者_StackOverflowSetter Property="Opacity" Value=".5" />
    <Setter Property="Fill" TargetName="GradientOrigin" Value="0.396,1.152">

I cant seem to figure out how to get the Fill converted.

Ben


You can use the Setter.Value element as such:

<Style x:Key="RibbonRefractionRectangle" TargetType="{x:Type Rectangle}">
    <Setter Property="Width" Value="200" />
    <Setter Property="Margin" Value="-10,0,-80,0" />
    <Setter Property="Opacity" Value=".5" />
    <Setter Property="Fill">
        <Setter.Value>
            <RadialGradientBrush GradientOrigin="0.396,1.152">
                <RadialGradientBrush.RelativeTransform>
                    <TransformGroup>
                        <ScaleTransform CenterX="0.6" CenterY="0.4" ScaleX="2" ScaleY="-1"/>
                        <TranslateTransform X="0.02" Y="0.01"/>
                    </TransformGroup>
                </RadialGradientBrush.RelativeTransform>
                <GradientStop Offset="1" Color="#00000000"/>
                <GradientStop Offset="0.4" Color="#FFFFFFFF"/>
            </RadialGradientBrush>
        </Setter.Value>
    </Setter>
</Style>

The rest of the style properties is as you already implemented.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜