【问题标题】:Content overflow in Textblock文本块中的内容溢出
【发布时间】:2021-12-31 01:51:46
【问题描述】:

我正在使用 UWP 应用程序。出于某种原因,我必须在 Textblock 中显示文本,并且需要知道内容(文本)是否溢出内容区域。是否有文本块的任何事件或属性知道这一点?

<TextBlock 
    Margin="{StaticResource SmallTopMargin}"
    Style="{StaticResource SubtitleTextStyle}"
    Text="{x:Static properties:Resources.SettingsPageAboutTitle}" />

【问题讨论】:

  • 如果答案已经解决了您的问题,请mark它被接受

标签: uwp uwp-xaml


【解决方案1】:

出于某种原因,我必须在文本块中显示文本,并且需要知道内容(文本)是否溢出内容区域。

当然,你可以用GetCharacterRect方法得到结束字符rect,如果它的正确值大于TextBlock的width属性或大于父容器的ActualWidthProperty,则表示文本溢出。

 var endRect = MyTextBlock.ContentEnd.GetCharacterRect(Windows.UI.Xaml.Documents.LogicalDirection.Backward);
 var parentWidth = MyTextBlock.Parent.GetValue(ActualWidthProperty);
 if (MyTextBlock.Width is double.NaN)
 {
     if (endRect.Right > (double)parentWidth)
     {

         // overflow
     }

 }
 else
 {
     if (endRect.Right > MyTextBlock.Width)
     {
         // overflow
     }
 }

【讨论】:

    猜你喜欢
    • 2015-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-29
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多