【发布时间】:2017-04-06 15:19:18
【问题描述】:
我有一个 ListView,在它的 ItemTemplate 中有一个 TextBlock(在网格内),它通常有很长的文本行。问题是如果文本太长,它会增加 ListViewItem 的宽度,而不是环绕文本。如何限制 TextBlock 的宽度,使其不会超过 ListView 的宽度?
我不想将宽度硬编码为恒定值。
我尝试将 ScrollViewer.HorizontalScrollBarVisibility 属性设置为 Disabled 并在 TextBlock 上设置 TextWrapping="Wrap",但这并没有做的伎俩。 当我调试应用程序时,Live Property Explorer 显示即使 ScrollViewer.HorizontalScrollBarVisibility 被禁用,它仍然可以水平滚动(IScrollProvider.HorizontallyScrollable 属性是真实)。
知道如何正确限制文本块的大小吗?
【问题讨论】:
-
您是否尝试过使用
TextBlock的MaxWidth属性? -
是的,我可以通过这种方式限制宽度,但我不想将它硬编码为一个常量值(当应用程序的主窗口调整大小时,ListView 可以改变它的大小)或绑定它到对象的 ListView 的 ActualWidth 。两者都是脆弱的解决方案。
标签: c# wpf xaml listview horizontal-scrolling