В пользовательском элементе управления ListView я создаю маленькую кнопку «Экспорт в Excel», которая отправляет все содержимое ListView в Excel. Поскольку эта кнопка встроена в элемент управления ListView, я не знаю, какой объект указан или какие столбцы показаны.Как временно отключить виртуализацию виртуализации WPF?
Так что мой метод является общим и просто анализирует все заголовки столбцов и все строки для экспорта данных в Excel. Но при анализе ListViewItem, которые не видны, вы получаете нулевой результат. Решением было бы установить VirtualizingStackPanel.VirtualizationMode = «False» в моем ListView, но это сильно повлияло на опыт графического интерфейса пользователя, когда у вас есть тысячи строк.
Я ищу способ загрузить весь ListViewItem только для моих общих методов экспорта и сохранить виртуализацию для графического интерфейса.
Может ли кто-нибудь помочь мне в этом?
спасибо.
Я не понимаю, что вы хотите, единственный способ отключить виртуализацию установлен 'VirtualizingStackPanel .IsVirtualizingProperty' - false. Вы можете включить его снова после завершения вашего метода. – Hopeless
Вы должны просто использовать базовые данные для своей задачи, а не созданные контейнеры пользовательского интерфейса. – metacircle
Данные Uderlying - это данные таблиц из базы данных SQL, которые как много больше полей, которые я показываю в столбце (даже связанная таблица). В моем приложении много ListView, это означало бы, что мне нужно будет вернуться в каждом представлении и определить, что должно быть экспортировано в Excel или нет. Поэтому я ищу способ заставить ListView загружать все элементы по коду. – Karnalta