我有一个 ListView ,在其中的ItemTemplate中有一个 TextBlock (在网格内),通常有很长的文本行。问题是如果文本太长,它会增加ListViewItem的宽度而不是包装文本。如何限制TextBlock的宽度,使其不超过ListView的宽度?
我不想将宽度强制为恒定值。
我尝试将 ScrollViewer.HorizontalScrollBarVisibility 属性设置为已禁用并在TextBlock上设置 TextWrapping =&#34; Wrap&#34; ,但那并没有成功。 当我调试应用程序时, Live Property Explorer 显示即使 ScrollViewer.HorizontalScrollBarVisibility 被禁用,它仍然可以水平滚动( IScrollProvider.HorizontallyScrollable < / strong> property is true )。
知道如何正确限制文本块尺寸吗?
答案 0 :(得分:3)
稍微玩了一下,这给了我预期的结果:
<ListView x:Name="listView"
HorizontalAlignment="Stretch"
ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=.}" TextWrapping="Wrap"></TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
希望它也适合你!
答案 1 :(得分:1)
如果您不想为文本块硬编码MaxWidth,只需根据ListView宽度给它一个相对宽度。