Xaml UWP ListView项目模板重用以前的项目模板
我刚开始在UWP上开发应用程序。我遇到了一个问题,我有一个ListView,其中DataTemplate是一个UserControlXaml UWP ListView项目模板重用以前的项目模板,xaml,windows-10,windows-10-mobile,windows-10-universal,Xaml,Windows 10,Windows 10 Mobile,Windows 10 Universal,我刚开始在UWP上开发应用程序。我遇到了一个问题,我有一个ListView,其中DataTemplate是一个UserControl <ListView ItemsSource="{Binding Data, Mode=OneWay}" SelectionMode="None" IsItemClickEnabled="False" ItemContainerStyle="{StaticResource ListViewItemCustomSty
<ListView ItemsSource="{Binding Data, Mode=OneWay}" SelectionMode="None" IsItemClickEnabled="False"
ItemContainerStyle="{StaticResource ListViewItemCustomStyle}">
<ListView.ItemTemplate>
<DataTemplate>
<items:FeedItem DataContext="{Binding}" Margin="0,0,0,8"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
然后我将datasource设置为ListView
这些项目呈现得很好,但在几个项目之后,它们开始以某种方式使用以前的项目模板。我不明白。有没有人遇到过这个问题并知道如何解决?非常感谢。ListView默认的ItemsPanelTemplate有一个使用虚拟化的ItemsStackPanel。其思想是只在内存/渲染中显示当前显示或通过滚动可轻松访问的项目。你可以阅读更多关于这个主题的内容 如果你真的想停止使用任何虚拟化技术,你只需要定义你自己的ItemsPanel。像这样:
<ListView>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
ListView默认的ItemsPanelTemplate有一个使用虚拟化的ItemsStackPanel。其思想是只在内存/渲染中显示当前显示或通过滚动可轻松访问的项目。你可以阅读更多关于这个主题的内容 如果你真的想停止使用任何虚拟化技术,你只需要定义你自己的ItemsPanel。像这样:
<ListView>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
previous item template是什么意思?@GeertvdC示例:我的ListView中有很多项目,对吗?在滚动大约10个项目后,第11个项目的模板与第一个项目完全相同,尽管该项目的内容(数据上下文)完全不同。您对“上一个项目模板”是什么意思?@GEERDVDC示例:我的ListView中有很多项目,对吗?滚动大约10个项目后,第11个项目的模板与第一个项目完全相同,尽管该项目的内容(数据上下文)完全不同。