Отключение виртуализации пользовательского интерфейса в формах Xamarin с помощью UWP windows mobile 10
Я работаю над проблемой с приложением UWP с Xamarin.Forms. Я заметил, что элементы представления списка по умолчанию перерабатываются и повторно используются в UWP. Например, когда я обновляю первый элемент в виде списка (новые значения или даже стиль), четвертый, седьмой, десятый и т. Д. Элементы в списке обновляются с тем же значением или стилем. Согласно этой статье, это поведение по дизайну.
Я попробовал несколько экспериментальных способов, а также обходных путей, которые были предложены в этой статье, а также настройку ListViewCachingStrategy, чтобы переопределить или отключить его, но у меня не было шансов исправить это.
Кто-нибудь сталкивался с этой проблемой?! Есть ли в любом случае, что виртуализация пользовательского интерфейса может быть отключена или переопределена на UWP Windows Mobile 10?
1 ответ
Вы можете попробовать использовать ListViewCachingStrategy
из документации написано:
Указывает, что для каждого элемента в свойстве ItemsView.ItemsSource представления списка будет создан один уникальный элемент из DataTemplate.
Вы можете использовать его в коде так:
var listView = new ListView(ListViewCachingStrategy.RecycleElement);
или в xaml:
<ListView CachingStrategy="RecycleElement">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
...
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Больше информации об использовании здесь
Будь то Xamarin.Forms
Команда реализовала это правильно для Windows 10 Mobile, это другой вопрос