ScrollView在Windows 10中不起作用
本文关键字:不起作用 Windows ScrollView | 更新日期: 2023-09-27 18:26:03
我有一个ViewModel,大约有200个联系人,我正在将它绑定到ListView
<Grid>
<ScrollViewer
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto">
<ListView x:Name="ContactListing" ItemsSource="{Binding ContactListing}" >
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=DisplayName}" />
<Image Source="{Binding Thumbnail,Converter={StaticResource ResourceKey=contactConv}}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ScrollViewer>
</Grid>
如果有人能解释ScrollViewers可见性背后的细节,那就太好了
ListView
控件已经包含一个ScrollViewer
,并根据项目数量实现滚动,不需要将此控件包装在另一个ScrollViewer
中。您可以在包含所有Windows 10样式的generic.xaml文件的6219行ListView
的默认ControlTemplate中仔细检查这一点:
C: ''Program Files(x86)''Windows Kits''10''DesignTime''CommonConfiguration''Neutral''UAP''10.0.10240.0''Generic''Generic.xaml
因此,您只需从XAML片段中删除ScrollViewer
即可。
<Grid>
<ListView x:Name="ContactListing" ItemsSource="{Binding ContactListing}" >
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=DisplayName}" />
<Image Source="{Binding Thumbnail,Converter={StaticResource ResourceKey=contactConv}}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
注意:当您使用ListView
时,我想您希望所有的物品都叠在一起。如果希望多个列显示您的项目,请改用GridView