我是 UWP 开发新手。现在我只是实现一个水平listView。这是我的代码:
<Grid Background="{StaticResource DefaultBackground}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Height="100" Grid.Row="0"/>
<controls:TestListView Grid.Row="1" x:Name="MyListView" IsItemClickEnabled="False" ItemsSource="{x:Bind Folders}" Margin="10,0,10,0"
ScrollViewer.HorizontalScrollMode="Auto" ScrollViewer.VerticalScrollMode="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Auto">
<ListView.ItemTemplate>
<DataTemplate x:DataType="model:TestClass">
<controls:TestControl/>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="VerticalContentAlignment" Value="Top"/>
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="Width" Value="270"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal" VerticalAlignment="Stretch" ScrollViewer.HorizontalScrollMode="Auto" ScrollViewer.VerticalScrollMode="Disabled"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</controls:TestListView>
</Grid>
我希望 MyListView
占据所有垂直空间。请注意,TestControl
(UserControl) 是另一个ListView。它可能包含大量元素。最终的结果是MyListView
的高度等于所有TestControl
中最大的高度。我希望 TestControl
应该显示一个滚动条,而不是仅仅垂直显示一个长列表,但它没有。
那么如何让所有TestControl
的高度自适应
UWP 应用程序?
最佳答案
终于,我得到了我想要的。只需进行以下更改,一切都很好。
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="VerticalContentAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="Width" Value="270" />
<Setter Property="HorizontalAlignment" Value="Left" />
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel Orientation="Horizontal"
VerticalAlignment="Stretch"
ScrollViewer.HorizontalScrollMode="Auto"
ScrollViewer.VerticalScrollMode="Disabled" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
关于xaml - 如何在 UWP 中垂直调整水平 listView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44029303/