动态文本块
本文关键字:文本 动态 | 更新日期: 2023-09-27 18:29:39
我正在编写一个Windows Phone应用程序,我想实现"点击文本展开"功能。
我有一系列TextBlocks
,目前看起来很像这样重复多次:
<TextBlock
Name="description" HorizontalAlignment="Left" VerticalAlignment="Top"
Margin="12,40,0,0" Width="444"
TextWrapping="NoWrap" TextTrimming="WordEllipsis" />
[注意最后两个:TextWrapping="NoWrap"
TextTrimming="WordEllipsis"
和缺乏Height
设置。
这显示了一行,当线条比屏幕长时,它以省略号结束,这是完美的。目前,当用户点击TextBlock
时,我TextWrapping
转到Wrap
。这允许文本根据需要占用任意数量的行数(我想要的功能(。
问题是,当我TextWrapping
转到Wrap
时,它会扩展到它下面的TextBlock
(记住,我有一堆彼此相邻的(。此外,为了让它完全扩展,我最初从未设置Height
,所以如果我稍后尝试访问它,我会得到NaN
(并且ActualHeight
永远不会从 26.6 更改,无论它扩展多少行(
我正在寻找一种方法来动态地将下面的TextBlocks
向下推到完整显示文本所需的量,但我不知道"正确"的方法。(同样说明:硬编码Margin
是不理想的,特别是对于动态扩展的文本,是否有我无法找到的"RelativeLayout
"(或类似的东西(?
您是否尝试过将 TextBlock 放置在 StackPanel 中? 这应该可以防止 TextBlock 对象重叠,您可以设置它们各自的边距值以确保所需的间距。