我有一个ListView,在它的ItemTemplate 中有一个TextBlock(在网格内),它通常包含长行文本。问题是,如果文本太长,它会增加 ListViewItem 的宽度而不是换行文本。如何限制TextBlock的宽度,使其不超过ListView的宽度?
我不想将宽度硬编码为恒定值。
我尝试将 ScrollViewer.HorizontalScrollBarVisibility 属性设置为 Disabled 并在 TextBlock 上设置 TextWrapping="Wrap",但没有成功做这个伎俩。 当我调试应用程序时,实时属性资源管理器显示,即使 ScrollViewer.HorizontalScrollBarVisibility 被禁用,它仍然可以水平滚动(IScrollProvider.HorizontallyScrollable 属性是真实)。
知道如何正确限制文本 block 大小吗?
最佳答案
稍微玩了一下,这给了我预期的结果:
<ListView x:Name="listView"
HorizontalAlignment="Stretch"
ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=.}" TextWrapping="Wrap"></TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
希望它也适合您!
关于c# - 限制 WPF ListView 中 TextBlock 的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40750500/