为什么我的TextBlock没有换行
本文关键字:换行 TextBlock 我的 为什么 | 更新日期: 2023-09-27 17:57:42
我几乎读过互联网上关于文本包装的每一个帖子(好吧,不是真的),但还没能想出一个解决方案来解释为什么我的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
上设置一个静态宽度,但我宁愿不这样做。欢迎提出任何建议。谢谢
尝试禁用ScrollViewer.HorizontalScrollBarVisibility
<ListView .... ScrollViewer.HorizontalScrollBarVisibility="Disabled"
您可以尝试删除ItemTemplate
中的DockPanel
吗?
<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>