使用 UWP Windows Mobile 10 在 Xamarin 窗体上禁用 UI 虚拟化



我正在使用Xamarin.Forms解决UWP应用程序的问题。我注意到默认情况下,列表视图项在 UWP 中被回收和重用。例如,当我更新列表视图中的第一项(新值甚至样式(时,列表中的第四项、第七项、第十项等项将使用相同的值或样式进行更新。根据这篇文章,这是一个设计的行为。

我已经尝试了几种实验性方法以及本文中建议的解决方法,也设置了ListViewCachingStrategy,以覆盖或禁用它,但我没有机会修复它。

有没有人遇到过这个问题?!无论如何,是否可以在UWP Windows Mobile 10上禁用或覆盖UI虚拟化?

您可以尝试使用文档中的ListViewCachingStrategy

指示对于列表视图中的每个项目 ItemsView.ItemsSource 属性,单个唯一元素将 从数据模板构造。

您可以在代码中使用它,如下所示:

var listView = new ListView(ListViewCachingStrategy.RecycleElement);

或在 XAML 中:

<ListView CachingStrategy="RecycleElement">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
...
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

有关使用它的更多信息,请单击此处

Xamarin.Forms团队是否为Windows 10移动版正确实现了这一点是另一个问题

最新更新