我为添加投影的标签创建了一种样式:
<Style TargetType="Label" x:Key="BigLabel">
<Setter Property="FontSize" Value="35" />
<!-- some more... -->
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect BlurRadius="0" Opacity="0.9" ShadowDepth="5" />
</Setter.Value>
</Setter>
</Style>
我想要使用该样式的标签之一是旋转的。现在,当我以这种方式应用这种风格时:
<Label Content="Awesome" Style="{StaticResource BigLabel}" >
<Label.LayoutTransform>
<RotateTransform Angle="-90" />
</Label.LayoutTransform>
</Label>
然后结果是投影仍然从标签的透视图(右下角)观察到相同的方向,但是从用户的角度(右上角)观察到不同的方向。现在因为有多个标签,有些是旋转的而有些则没有,我希望所有阴影都朝着相同的方向从用户的角度看,右下角。
这意味着我必须在旋转的标签上设置不同的Direction
,或者告诉WPF在旋转后应用带有阴影的样式。现在我想知道:
有没有办法告诉WPF先旋转然后应用样式?
答案 0 :(得分:1)
试试这个,使用Direction属性:
<Style TargetType="Label" x:Key="BigLabel">
<Setter Property="FontSize" Value="35" />
<!-- some more... -->
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect BlurRadius="5" Opacity="0.92" ShadowDepth="3" Direction="225" />
</Setter.Value>
</Setter>
</Style>