ItemsControl/ListBox 项超出可用宽度
ItemsControl/ListBox items exceed available width
我希望第 3 列中的文本换行并且没有水平滚动条。为什么这不起作用?
<ItemsControl x:Name="listMessages" ItemsSource="{Binding Messages}" Grid.IsSharedSizeScope="True">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column1"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column2"/>
<ColumnDefinition Width="*" SharedSizeGroup="Column3"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column4"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Text1" />
<TextBlock Grid.Column="1" Text="Text2" />
<TextBlock Grid.Column="2" Text="Very long text that should wrap to the next line, but it doesn't work" TextWrapping="Wrap"/>
<TextBlock Grid.Column="3" Text="Text4" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
项目占用的宽度超过了 ItemsControl 可用的宽度。 ListBox 也有同样的问题。
我尝试在 ItemsControl 和 Grid 上添加 ScrollViewer.HorizontalScrollbarVisibility=Disabled
,但这没有帮助。
如果您不设置 SharedSizeGroup
属性:
,文本将换行
<ColumnDefinition Width="*"/>
文本环绕和共享大小组不能很好地结合在一起。您可能希望为 ColumnDefinition
或 TextBlock
.
指定一个固定的 MaxWidth
我希望第 3 列中的文本换行并且没有水平滚动条。为什么这不起作用?
<ItemsControl x:Name="listMessages" ItemsSource="{Binding Messages}" Grid.IsSharedSizeScope="True">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column1"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column2"/>
<ColumnDefinition Width="*" SharedSizeGroup="Column3"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column4"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Text1" />
<TextBlock Grid.Column="1" Text="Text2" />
<TextBlock Grid.Column="2" Text="Very long text that should wrap to the next line, but it doesn't work" TextWrapping="Wrap"/>
<TextBlock Grid.Column="3" Text="Text4" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
项目占用的宽度超过了 ItemsControl 可用的宽度。 ListBox 也有同样的问题。
我尝试在 ItemsControl 和 Grid 上添加 ScrollViewer.HorizontalScrollbarVisibility=Disabled
,但这没有帮助。
如果您不设置 SharedSizeGroup
属性:
<ColumnDefinition Width="*"/>
文本环绕和共享大小组不能很好地结合在一起。您可能希望为 ColumnDefinition
或 TextBlock
.
MaxWidth