如何在WP 8.1 RT中使用RichTextBlock.HasOverflowContent

本文关键字:RichTextBlock HasOverflowContent RT WP | 更新日期: 2023-09-27 18:24:05

我在Windows Phone 8.1 RT中使用RichTextBlock来显示一些文本。为了限制在给定时间可以显示的文本的大小,我正在设置MaxLines属性。每当文本超过此值时,就会对其进行修剪。

现在,我在RichTextBlock的底部有一个超链接,无论何时修剪文本,它都应该可见。为了检测文本是否被修剪,我使用了RichTextBlock.HasOverflowContent。如果此属性设置为true,我会将超链接的可见性设置为可见,这样用户就可以单击它并查看完整的未修剪消息。

但这种解决方案存在问题。有时会对文本进行修剪,但属性仍然为false,并且超链接保持隐藏状态。

我真的不知道如何使用上面的属性来检测内容修剪。正确的使用方法是什么?我正在RichTextBlock:的Loaded事件中进行处理

private void RichTextBlock_Loaded(object sender, RoutedEventArgs e)
{
    var richtextblock = sender as RichTextBlock;
    // Check if the content of the RichTextBlock was trimmed.
    if (richtextblock.HasOverflowContent)
    {
        // Prepare hyperlink and set visibility to visible.
    }
}

如何在WP 8.1 RT中使用RichTextBlock.HasOverflowContent

加载RichTextBlock时,与其检查HasOverflowContent的值,为什么不尝试将超链接的可见性属性绑定到HasOverflowContext属性(当然使用布尔-可见性转换器)?