我几乎阅读了关于互联网上文字换行的每一个帖子(确实不是)但是我们还没有找到解决方案,为什么我的TextBlock
不会包装。这是我窗口内的整个XAML:
<DockPanel>
<ListView ItemsSource="{Binding Errors}"
SelectionMode="Single"
HorizontalContentAlignment="Stretch">
<ListView.ItemTemplate>
<DataTemplate DataType="{x:Type local:Error}">
<DockPanel>
<TextBlock Text="{Binding ErrorMessage}"
TextWrapping="WrapWithOverflow"
VerticalAlignment="Center" />
</DockPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</DockPanel>
我得到的是一个TextBlock,它扩展到我的窗口之外。我尝试过使用DataTemplate
等其他Grid
,但没有运气。唯一有效的解决方案是在TextBlock
上放置静态宽度,但我宁愿不这样做。任何建议表示赞赏。感谢。
答案 0 :(得分:3)
尝试停用ScrollViewer.HorizontalScrollBarVisibility
<ListView .... ScrollViewer.HorizontalScrollBarVisibility="Disabled"
答案 1 :(得分:1)
您可以尝试删除DockPanel
内的ItemTemplate
吗?
<DockPanel>
<ListView ItemsSource="{Binding Errors}"
SelectionMode="Single"
HorizontalContentAlignment="Stretch">
<ListView.ItemTemplate>
<DataTemplate DataType="{x:Type local:Error}">
<TextBlock Text="{Binding ErrorMessage}"
TextWrapping="WrapWithOverflow"
VerticalAlignment="Center" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</DockPanel>