gpt4 book ai didi

c# - 向 RichTextBlock 内的超链接添加交互行为

转载 作者:行者123 更新时间:2023-11-30 23:15:08 29 4
gpt4 key购买 nike

我有一个 RichTextBlockHyperlink .

我想执行 Command单击超链接时来 self 的 ViewModel,因此我使用了交互 Behavior来自 Microsoft.Xaml.Behaviors:

<RichTextBlock>
<Paragraph>
<Hyperlink>
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Click">
<core:InvokeCommandAction
Command="{Binding ShowDocumentCommand}" />
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
<Hyperlink.Inlines>
<Run Text="Some link" />
</Hyperlink.Inlines>
</Hyperlink>
</Paragraph>
</RichTextBlock>

但它不起作用。它运行,但没有任何反应。 Hyperlink 时不执行命令被点击。

为什么?我应该怎么做才能让它执行命令?

最佳答案

看起来行为只能附加到从 FrameworkElement 派生的类。但是 Hyperlink 并没有继承它。

您可以简单地使用 HyperlinkExtensions来自 UWP Community Toolkit 包,它已经具有所需的附加属性 CommandCommandParameter。或者您可以从 github 复制粘贴他们的代码.

所以你的代码看起来像这样:

<RichTextBlock>
<Paragraph>
<Hyperlink xaml:HyperlinkExtensions.Command="{Binding ShowDocumentCommand}">
<Hyperlink.Inlines>
<Run Text="Some link" />
</Hyperlink.Inlines>
</Hyperlink>
</Paragraph>
</RichTextBlock>

关于c# - 向 RichTextBlock 内的超链接添加交互行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42763198/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com