首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将合成效果放在控件后面

将合成效果放在控件后面
EN

Stack Overflow用户
提问于 2016-11-02 06:10:45
回答 1查看 58关注 0票数 0

我已经在一个简单的TextBlock控件上应用了阴影效果,但我有一个问题:阴影在TextBlock之前,而我不知道如何将阴影放在Textblock后面。你有解决这个问题的办法吗?下面是创建DropShadow效果的代码:

代码语言:javascript
复制
public void SetupSimpleTextShadow(TextBlock shadowTarget)
    {
        Visual hostVisual = ElementCompositionPreview.GetElementVisual(shadowTarget);
        Compositor compositor = hostVisual.Compositor;

        DropShadow dropShadow = compositor.CreateDropShadow();
        dropShadow.Color = Color.FromArgb(255, 50, 50, 50);
        dropShadow.BlurRadius = 7f;
        dropShadow.Offset = new Vector3(5f, 5f, 0f);
        dropShadow.Opacity = 0.9f;
        dropShadow.Mask = shadowTarget.GetAlphaMask(); 

        SpriteVisual shadowVisual = compositor.CreateSpriteVisual();
        shadowVisual.Shadow = dropShadow;

        ElementCompositionPreview.SetElementChildVisual(shadowTarget, shadowVisual);

        ExpressionAnimation bindSizeAnimation = compositor.CreateExpressionAnimation("hostVisual.Size");
        bindSizeAnimation.SetReferenceParameter("hostVisual", hostVisual);

        shadowVisual.StartAnimation("Size", bindSizeAnimation);
    }
EN

回答 1

Stack Overflow用户

发布于 2016-11-02 11:06:34

尝试使用XPShadow.The示例链接为https://github.com/brookshi/XPShadow

在Nuget中找到XPShadow并下载它。

编写引用NameSpace :xmlns:xp="using:XP"

在您希望控件具有阴影的代码中,您可以使用xp:Shadow中的控件。

代码语言:javascript
复制
              <xp:Shadow CornerRadius="2"
                           IsCached="True"
                           Z_Depth="2">
                         <Control/>
              </xp:Shadow>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40369443

复制
相关文章

相似问题

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