1
일부 데이터를 표시하는 GridView가 있습니다. 각 GridView 항목은 런타임 중에 증가하는 ListView입니다. GridView도 증가하고 싶습니다. 그러나 GridView 항목 안에 스크롤바 만 보여주고 있습니다. 하나의 추가 요구 사항은 각 GridView 항목이 항목의 상단에 정렬되어야한다는 것입니다.Gridview의 UWP Listview가 증가하지 않습니다.
<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>
은하지 마 (JustinXL의 힌트 기준)이다. 'ListView'를'GridView' 안에 넣는 것은 나쁜 생각입니다. 대신에'ItemsControl'을 사용하십시오. –
@JustinXL ItemsControl은이를 완료하는 힌트였습니다. 감사! 방금 알아 낸 것은 ListBox 및 ListView가 부모로부터받은 모든 공간을 더 이상 차지하지 않는다는 것입니다. 그리고 이것은 나의 문제였습니다. – Christoph
ListView는 복잡하고 무거운 컨트롤입니다. 일반적으로 페이지에서 하나만 사용하십시오. :) –