首页 > 解决方案 > 如何处理 RichTextBlock 中的内联超链接的右键单击

问题描述

我有一个带有 2 个或更多超链接内联元素的 RichTextBlock,在右键单击任何超链接时,我需要显示带有一些选项的浮出控件(保存链接、复制链接、转到链接等)我如何才能实现这个给定的超链接没有一个 righttapped 事件并且 RTB 的 rightTapped 没有关于点击哪个部分的信息?

标签: c#xamluwp

解决方案


如何处理 RichTextBlock 中的内联超链接的右键单击

RichTextBlock仅包含Click事件。所以你不能为它制作右键菜单,对于你的场景,我们建议你像下面这样单独使用HyperlinkButton和给出。ContextFlyout

<Paragraph>
    <InlineUIContainer>
        <HyperlinkButton NavigateUri="https://docs.microsoft.com/uwp/api/Windows.UI.Xaml.Documents.Hyperlink">
            <HyperlinkButton.ContextFlyout>
                <MenuFlyout>
                    <MenuFlyoutItem Text="Copy" />
                    <MenuFlyoutItem Text="Delete" />
                </MenuFlyout>
            </HyperlinkButton.ContextFlyout>
            a rich text display container that supports
        </HyperlinkButton>
    </InlineUIContainer>
</Paragraph>

推荐阅读