【发布时间】:2013-10-10 21:44:59
【问题描述】:
我已经为添加阴影的标签创建了一种样式:
<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 先旋转然后应用样式?
【问题讨论】:
-
这里我在 Windows 7 SP1 64 位、NVIDIA GeForce 9100M G 中使用 .Net 4.5 进行了测试,结果正常。也许这是一个错误。您是否也尝试过使用 Label.RenderTransform 进行测试?
-
@Tony:
Label.RenderTransform也一样。我也有 .NET 4.5、Win7 SP1 x64,但是 NVIDIA Quadro NVS 295。 -
@Tony:英特尔高清显卡也是如此。不知道这算不算bug。你确定它对你有用吗?我想我应该澄清一下:我希望所有阴影都进入同一个方向,右下角,无论标签是否旋转。即:先旋转,后阴影。
-
我已更改此设置以使其更明显:
标签: wpf