Это разумная вещь, потому что часто в приложении вы хотите, чтобы обновления ListView и т. Д. Происходили без задержек вашего кода.
Я установил системы сообщений между пользовательскими элементами управления, содержащими элемент управления IЯ хочу обновиться на заднем плане, и это может стать довольно грязным, потому что вам в конечном итоге придется сообщать / событие намного больше, чем просто заполнение / обновления, грязный код - это глючный код, поэтому я попробовал другие способы.
Есть хороший, аккуратный способ, медленная часть заполнения / обновления ListView обычно заключается в создании ListViewItems, и вы можете полностью подготовить их в своем собственном потоке.
Так что теперь, для такого рода приложений (с заполнением или обновлением ListView, когда мне не нужно ждать, пока он будет готов, прежде чем мой код сможет продолжить), мой отдельный поток создает / подготавливает ListViewItems, а затем добавляет подготовленные элементы в ListView, когда потокЭто делается очень быстро, поэтому окончательное обновление ListView может быть выполнено для пользовательского события, едва заметного для пользователя.Добавьте к этому «Добавляйте только тех, кого видите», и это действительно мгновенно.С парой дополнительных строк, поэтому при запуске прокрутки вы можете добавить еще пару.(Возможно, вы заметили, что браузер изображений youtube / facebook / windows all делает это так).Поскольку в нашем случае мы уже подготовили ListViewItems, добавить их в список очень просто.