【发布时间】:2017-06-24 12:02:40
【问题描述】:
我有一个列表视图,作为数据模板,它有一个相对复杂的用户控件,并绑定了几个属性。
ItemsPanel 如下:
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel VerticalAlignment="Bottom" ItemsUpdatingScrollMode="KeepLastItemInView"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
我的列表视图通常包含大约 70 个项目,但是我遇到了一个相当大的问题:
每次我向上滚动大约 30 个项目然后再向下滚动时,属性似乎变得混乱,其中一些似乎与更高项目的属性切换。
例如,如果之前我有以下情况:
- 属性 A = 1
- 属性 A = 2
- 属性 A = 3
上下滚动后,我会:
- 属性 A = 1
- 属性 A = 2
- 属性 A = 1
如何确保项目保持其属性或正确重新加载?
【问题讨论】:
-
如果你阻止虚拟化会有什么结果?你有一个minimal reproducible example项目在我们这边测试吗?
-
我无法重现此问题。正如@SunteenWu-MSFT 所说 - 你应该提供一个 MCVE(你可能会在它时查明问题)。
标签: c# data-binding uwp dependency-properties virtualization