【问题标题】:Drop shadow effect on a HyperLink超链接上的阴影效果
【发布时间】:2012-06-19 18:01:19
【问题描述】:

我似乎找不到如何向流文档中的超链接添加阴影。由于 HyperLink 不是 UIElement,它没有 Effect 属性(我所有的谷歌搜索都让我找到了 DropShadowEffect)。它确实有一个 TextEffects 集合,但我似乎无法弄清楚如何用它创建一个投影。最终我想做的是为背景画笔而不是文本本身添加阴影。

我的要求非常模糊,我只需要让焦点外观看起来更好(即标签焦点和键盘焦点,而不是鼠标悬停),我认为浅色阴影可以解决问题,但我愿意其他建议。

(我没有足够的代表上传截图grr所以这里是一个模拟)

这里有一个HyperLink

我想在灰色部分(我的应用程序中为浅蓝色)而不是文本(如前所述)周围添加阴影。

【问题讨论】:

    标签: c# wpf xaml effects


    【解决方案1】:

    我很确定您不能在每个内联的基础上执行此操作。 WPF 提供效果的方式是将它们全部应用到可视树中的单个对象。像超链接这样的内容元素都在其父元素(FlowDocumentReader 或类似元素)中组合成一个可视元素。

    FlowDocument 控件确实能够使用 BlockUIContainer 块内容元素或 InlineUIContainer 内联内容元素来承载子可视元素。您可以使用它来将 DropShadow 应用于单个超链接,如下所示:

    <FlowDocument>
            <Paragraph>
                <Run Text="This is a" />
                <InlineUIContainer>
                    <TextBlock Background="#FFCDCDCD">
                        <TextBlock.Effect>
                            <DropShadowEffect ShadowDepth="3" Color="#FFC9C9C9" />
                        </TextBlock.Effect>
                        <Hyperlink><Run Text="hyperlink" /></Hyperlink>
                    </TextBlock>
                </InlineUIContainer>
            </Paragraph>
    </FlowDocument>
    

    【讨论】:

    • 感谢您的示例和解释。这最终也是我通过谷歌搜索得出的结论。
    猜你喜欢
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 2015-06-13
    相关资源
    最近更新 更多