为了账号安全,请及时绑定邮箱和手机立即绑定

在 WPF Richt-TextBox 中将鼠标悬停在超链接上时设置光标

在 WPF Richt-TextBox 中将鼠标悬停在超链接上时设置光标

C#
陪伴而非守候 2021-06-03 07:45:49
我有一个来自 Xtended WPF Toolkit 的 Rich-Text-Box 来显示绑定到一些 .rtf 文件的文本。我想要“只读”框,但同时我希望文件中的超链接处于活动状态并且可供用户点击。为了实现这一点,我创建了这样的框:<xctk:RichTextBox x:Name="richTextBox" Cursor="Arrow" VerticalAlignment="Stretch" Text="{Binding text}"  Focusable="False" IsDocumentEnabled="True">    <xctk:RichTextBox.Resources>        <Style TargetType="Hyperlink">            <Setter Property="Cursor" Value="Arrow" />            <EventSetter Event="PreviewMouseLeftButtonDown" Handler="Hyperlink_MouseLeftButtonDown"/>    </Style></xctk:RichTextBox.Resources></xctk:RichTextBox>几乎一切正常,我可以单击富文本框中的链接,但是当鼠标悬停在链接上时,光标会变成“文本选择”光标(就像您将鼠标悬停在文本输入字段上一样在这里),这看起来很愚蠢。所以看起来这条线<Setter Property="Cursor" Value="Arrow" />正在被忽视。有没有什么办法解决这一问题?
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

您应该尝试使用此属性

ForceCursor="true"

在您的 RichTextBox 上


查看完整回答
反对 回复 2021-06-05
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

尝试向将属性设置为的IsMouseOver触发器添加:StyleIsEnabledfalse


<Style TargetType="Hyperlink">

    <EventSetter Event="PreviewMouseLeftButtonDown" Handler="Hyperlink_MouseLeftButtonDown"/>

    <Style.Triggers>

        <Trigger Property="IsMouseOver" Value="True">

            <Setter Property="IsEnabled" Value="False" />

            <Setter Property="Foreground" Value="Red" />

        </Trigger>

    </Style.Triggers>

</Style>


查看完整回答
反对 回复 2021-06-05
  • 2 回答
  • 0 关注
  • 318 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信