Отключение виртуализации пользовательского интерфейса в формах 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, это другой вопрос

Другие вопросы по тегам