鼠标悬停在WPF Richt-TextBox

时间:2018-05-09 15:00:04

标签: c# wpf xaml

我有一个来自Xtended WPF Toolkit的Rich-Text-Box来显示绑定到某些.rtf文件的文本。我想有一个盒子" ReadOnly"但与此同时,我希望文件中的超链接是活动的,并且可以为用户单击。为了实现这一点,我创建了这样的框:

<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>

几乎一切正常,我可以点击Rich-Text-Box中的链接,但是当鼠标悬停在链接上时,光标变成&#34;文本选择&#34;游标(就像你将鼠标悬停在文本输入字段上时那样)并且看起来很愚蠢。所以看来这一行

<Setter Property="Cursor" Value="Arrow" />

被忽略了。有没有什么办法解决这一问题?

2 个答案:

答案 0 :(得分:0)

您应该尝试使用此属性

ForceCursor="true"
在RichTextBox上

答案 1 :(得分:0)

尝试向IsMouseOver添加Style触发器,将IsEnabled属性设置为false

<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>