1
У меня есть GridView для отображения некоторых данных. Каждый элемент GridView представляет собой ListView, который увеличивается во время выполнения. Я бы хотел, чтобы GridView также увеличивался, но он показывает только полосу прокрутки внутри элемента GridView. Еще одно требование: каждый элемент GridView должен быть выровнен поверх элемента.UWP Listview в Gridview не увеличивается
<GridView ItemsSource="{Binding}" ScrollViewer.VerticalScrollBarVisibility="Disabled" Width="1080">
<GridView.ItemTemplate>
<DataTemplate>
<ListView ItemsSource="{Binding ListData}" HorizontalAlignment="Center">
<ListView.ItemTemplate>
<DataTemplate >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="🎂"
FontSize="20"
Grid.Column="0"
Margin="0,0,10,10"
FontFamily="Sergoe UI"
Style="{StaticResource BasicTextBlock}"/>
<TextBlock Text="{Binding NameString, Converter={StaticResource DataBindingDebugConverter}}"
Grid.Column="2"
Margin="10,0,0,0"
FontSize="16"
Style="{StaticResource BasicTextBlock}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0,0,0,0"/>
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.ItemContainerStyle>
<Style TargetType="GridViewItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0,20,0,0"/>
<Setter Property="Width" Value="360" />
</Style>
</GridView.ItemContainerStyle>
</GridView>
Не делайте этого. Плохая идея иметь 'ListView' внутри 'GridView'. Вместо этого используйте 'ItemsControl'. –
@JustinXL ItemsControl был подсказкой, чтобы сделать это. Благодаря! Я только что узнал, что ListBox и ListView занимают все пространство, доступное им от родителя и не более того. И это была моя проблема. – Christoph
Да, а также помните, что ListView - сложный и тяжелый контроль. Обычно вы просто используете его на своей странице. :) –