将段落内的超链接绑定到命令(MVVM)

Binding Hyperlink inside Paragraph to a Command (MVVM)

我在 RichTextBlock 中有一个超链接。我正在使用 MVVM,我想将它绑定到 Command。我该怎么做?

<RichTextBlock>
    <Paragraph>
        <Run Text="This is " />
        <Hyperlink>
            <Hyperlink.Inlines>
                <Run Text="a link" />
            </Hyperlink.Inlines>
        </Hyperlink>
    </Paragraph>
</RichTextBlock>

您可以使用 InlineUIContainer 添加执行此操作,然后添加 HyperlinkButton

<RichTextBlock>
    <Paragraph>
        <Run Text="This is" />
        <InlineUIContainer >
            <HyperlinkButton Margin="0,0,0,-10" 
                             Command="{Binding LinkCommand}">
                a link
            </HyperlinkButton>
        </InlineUIContainer>
        <Run Text="and this is some additional text" />
    </Paragraph>
</RichTextBlock>

您还可以为 link 文本使用绑定:

<HyperlinkButton Margin="0,0,0,-10" 
                 Command="{Binding myCommand}"
                 Content="{Binding LinkText}">
</HyperlinkButton>

我已使用负边距将 link 与其他文本内容对齐。