Я пытаюсь использоватьiformGrid для моего списка предметов, как показано ниже. Если я использую ItemsControl, то ячейки заполняют доступные пробелы и полоса прокрутки не отображается, но если я использую ListBox, элементы остаются в своем первоначальном размере, поэтому полосы прокрутки появляются в списке. Мне нужно использовать ListBox для выбора элемента, но мне также нужно поведение, как в ItemsControl. Не могу придумать, как это сделать ...
<ListBox Grid.Row="1" Name="tileItems" ItemsSource="{Binding Tiles}" ItemTemplateSelector="{StaticResource myTileSelector}"
HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid x:Name="ug" Columns="3" Rows="3" IsItemsHost="True"></UniformGrid>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
<ItemsControl Grid.Row="1" Name="tileItems" ItemsSource="{Binding Tiles}" ItemTemplateSelector="{StaticResource myTileSelector}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid x:Name="ug" Columns="3" Rows="3" IsItemsHost="True"></UniformGrid>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>