我有以下矩形:
<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>
我正在尝试将其转换为样式,以便可以重复使用它。这是我到目前为止所拥有的:
<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" TargetName="GradientOrigin" Value="0.396,1.152">
我似乎不知道如何转换填充。
本
最佳答案
您可以这样使用 Setter.Value 元素:
<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>
其余的样式属性是您已经实现的。
关于wpf - 将 XAML 属性转换为样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7618106/