可滚动文本块大小恰好为 2 行高

2024-01-07

我需要显示文本 - 最多 -2 行 - 没有可见的垂直滚动,然后在大于 2 行时显示滚动:

<Border BorderBrush="Black" BorderThickness="1" Grid.Row="1" Grid.ColumnSpan="2">
    <ScrollViewer VerticalScrollBarVisibility="Auto" MaxHeight="40">
        <TextBlock Text="{Binding RoadsString}" Style="{StaticResource WrapTextStyle}"/>
    </ScrollViewer>
</Border>

我可以尝试使用 MaxHeight 值,直到它看起来正确 - 但我更喜欢它适应指定的任何字体并且......精确。最好在 XAML 中。

我可以将 MaxHeight 绑定到字体大小吗?或者也许有一个我还没有找到的 TextBlock 属性。

谢谢, 担


只读无边框文本框可以作为文本块使用吗?

<TextBox MinLines="2" MaxLines="2" IsReadOnly="True" BorderThickness="0"
VerticalScrollBarVisibility="Auto" Width="200" VerticalAlignment="Top" />

MinLines http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.minlines.aspx and MaxLines http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.maxlines.aspx将限制文本框始终只有两行(除非显式设置 Height - 如果在 TextBox 上显式设置 Height 属性,则忽略 MaxLines 和 MinLines 属性值)。

我发现这种方法的一个问题是文本框的文本不会与其他文本块左对齐(如果您将它们放置在网格的同一列中)。

编辑:刚刚注意到您实际上想要文本块的边框。为此,您可以去掉 BorderThickness="0" 部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可滚动文本块大小恰好为 2 行高 的相关文章

随机推荐