首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DropShadowEffect方向遵循控件的RotateTransform

DropShadowEffect方向遵循控件的RotateTransform
EN

Stack Overflow用户
提问于 2019-04-11 02:53:41
回答 2查看 1.1K关注 0票数 0

我需要一些关于我的阴影效果的帮助。我目前正在旋转一个带有阴影的控件。但是当我旋转控制时,阴影也跟着方向移动。这些是样本图像:

当用户控件尚未旋转时,这是下拉阴影的正常外观。

这是旋转控件后的阴影

这是我用于控件和下拉阴影的代码:

代码语言:javascript
复制
<local:CogWheel x:Name="CogWheel2" Width="100" Height="100" GearColor="#FF4D5D" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="105,13,0,0" RenderTransformOrigin="0.5,0.5">
                    <local:CogWheel.RenderTransform>
                        <TransformGroup>
                            <ScaleTransform/>
                            <SkewTransform/>
                            <RotateTransform Angle="100"/>
                            <TranslateTransform/>
                        </TransformGroup>
                    </local:CogWheel.RenderTransform>
                    <local:CogWheel.Effect>
                        <DropShadowEffect Color="#FF4D5D" BlurRadius="20" ShadowDepth="12" Direction="280" Opacity="0.70"/>
                    </local:CogWheel.Effect>
                </local:CogWheel>

我想旋转一个控件,但保留它的阴影方向。任何帮助都将不胜感激。谢谢!

编辑:

我自己解决了它,我把控制,我是旋转到一个透明的网格,并添加下拉阴影到网格代替。

EN

回答 2

Stack Overflow用户

发布于 2019-04-11 03:27:19

我想你可以把角度加到阴影效果的方向来保留效果。

代码语言:javascript
复制
   var rotate = (CogWheel2.RenderTransform as TransformGroup).Children.Where(x => x is RotateTransform).FirstOrDefault() as RotateTransform;
        this.shadowEffect.Direction = 280 + rotate.Angle;
票数 1
EN

Stack Overflow用户

发布于 2019-07-31 15:33:22

在父网格上应用下拉阴影效果可以完成这项工作。

要详细说明贾斯汀·CI的答案:将DropShadowEffect.Direction绑定到RotateTransform.Angle也是有效的。动画片出现的时候很方便。

代码语言:javascript
复制
<local:CogWheel x:Name="CogWheel2" GearColor="#FF4D5D" RenderTransformOrigin="0.5,0.5">
    <local:CogWheel.RenderTransform>
        <RotateTransform Angle="100" x:Name="rotation"/>
    </local:CogWheel.RenderTransform>
    <local:CogWheel.Effect>
        <DropShadowEffect Direction="{Binding Angle, ElementName=rotation}" Color="#FF4D5D" />
    </local:CogWheel.Effect>
</local:CogWheel>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55623991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档