0

我正在处理与Xamarin.Forms的UWP应用程序有关的问题。我注意到默认情况下的列表视图项目正在回收并在UWP中重用。对于更新列表视图中的第一个项目(新值或样式)的实例,列表中的第四,第七,第十等项目将更新为相同的值或样式。根据this article,这是一个行为设计。使用UWP windows mobile禁用Xamarin Forms上的UI虚拟化10

我已经尝试过几种实验性的方法,也有建议在this article也建议ListViewCachingStrategy,以覆盖或禁用它,但我没有修复它的机会。

有没有人遇到过这个问题?无论如何,UI虚拟化可以在UWP windows mobile 10上禁用或覆盖吗?

回答

0

你可以尝试使用ListViewCachingStrategy从它说的文档:

表示在列表视图的 ItemsView.ItemsSource财产的每个项目,一个独特的元素将 从构建的DataTemplate。

您可以使用它的代码如下所示:

var listView = new ListView(ListViewCachingStrategy.RecycleElement); 

或XAML:

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

使用该here

无论Xamarin.Forms队更多信息已经实现这适用于Windows 10移动版是另一个问题

+0

我曾尝试设置ListViewCachingStrategy之前,并已观察到相同的行为。无论如何感谢您的答案,但我正在寻找答案或解决后一个问题的解决方法。 – DeveloperX

+0

我已更新我的问题。 – DeveloperX

+0

@DeveloperX你可以构建自己的控件,它是一个'ScrollView',它包含'StackLayout'和'StackLayout'中的'listview items',这本质上是一个没有虚拟化的列表。但我不会建议这样做,因为表演会很糟糕。我认为从你的问题,这听起来像一个'Xamarin'错误,应该提交[在这里](https://bugzilla.xamarin.com/) – user1

相关问题