gpt4 book ai didi

c# - 动态文本 block

转载 作者:数据小太阳 更新时间:2023-10-29 02:58:27 26 4
gpt4 key购买 nike

我正在编写 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 对象重叠,您可以设置它们各自的边距值以确保您想要的间距。

关于c# - 动态文本 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9936625/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com