У меня есть TabControl
с тремя TabItems
. Каждый TabItem
имеет свой собственный ViewModel. Последняя вкладка содержит ListView
с +1500 записями. Поэтому каждый раз, когда я открываю эту вкладку, для рендеринга требуется +10 секунд. Я хочу оптимизировать ListView
, поэтому это не займет много времени, чтобы визуализировать каждый раз.Плохое представление ListView в TabControl WPF
Я привязываю ObservableCollection
к ListView
.
ListView
выглядит следующим образом
<ListView>
<ListView.View>
<GridView>
<GridViewColumn>
<GridViewColumnHeader>
<TextBox... custom templates for filtering here
</GridViewColumnHeader>
</GridViewColumn>
</GridView>
<ListView.View>
</ListView>
Я уже пробовал:
<VirtualizingPanel.VirtualizationMode="Recycling">
Это ускоряет его, но делает прокрутку reeeeeeeally медленно.
Спасибо! После некоторых модификаций это работало как шарм. Стоит упомянуть, что 'ViewChanged' предназначен только для UWP. Если кто-то хочет использовать это с WPF, используйте 'ScrollChanged'. Я также изменил поведение, поэтому его можно привязать к самому «ListView», а в «OnAttaching» я извлекаю «ScrollViewer» из «ListView». Еще раз спасибо :) –
И Win 8.x + WinPhone ... –