0
我想要3列中的文本換行並且沒有水平滾動條。爲什麼這不起作用?ItemsControl/ListBox項目超出可用寬度
<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>
項目佔用比ItemControl可用的更多寬度。與ListBox相同的問題。
我試圖在ItemsControl和Grid上添加ScrollViewer.HorizontalScrollbarVisibility=Disabled
,但這沒有幫助。如果不設置SharedSizeGroup
屬性
嘗試從 元素中刪除SharedSizeGroup屬性。 –
mm8
或者做你通常做什麼來顯示ItemsControl中的列:使用帶有GridView的ListView。 – Clemens
刪除SharedSizeGroup不會更改任何內容。我使用ItemsControl是因爲我不需要選擇。 – Arek