我的 ListBox
其中有一个可能很长的描述字段。我不想使用水平滚动条,而是想对其进行自动换行。
如果我设置 MaxWidth
就可以了但自从ListBox
更改大小 我不想对值进行硬编码。
做到这一点的最佳方法是什么?
编辑:描述在 TextBlock
中.
简化的 XAML(删除了不必要的东西,仍然显示问题:
<ListBox BorderThickness="0" Padding="5" Name="lstTasks">
<ListBox.ItemsSource>
<Binding Source="{StaticResource dataTasks}"/>
</ListBox.ItemsSource>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding Path=RequestDescription}" TextTrimming="WordEllipsis" TextWrapping="Wrap" Height="60" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
最佳答案
尝试强制 ListBoxItems 的宽度为 ListBox 的宽度:
<ListBox
Name="lstTasks"
BorderThickness="0"
Padding="5"
HorizontalContentAlignment="Stretch">
您也可以尝试禁用水平滚动:
<ListBox
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
...>
关于.net - WPF 列表框项目不自动换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1151471/