Я условно форматирую просмотр списка, устанавливая Style DataTrigger и привязывая его к IValueConverter (CheckForShade), который возвращает, если стиль должен быть применен.
<Style.Triggers>
<DataTrigger Binding="{Binding Converter={StaticResource CheckForShade}}" Value="false" >
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
Проблема заключается в том, что логика, содержащаяся в IValueConverter, довольно интенсивна, и я хотел бы как-нибудь многопоточность, чтобы каждая строка в ListView могла быть оценена для форматирования одновременно ив потоке, отличном от потока пользовательского интерфейса.
Также в настоящее время он замедляет открытие приложения, проверяя все строки ListView и применяя форматирование. Я хотел бы отложить проверку форматирования до тех пор, пока пользовательский интерфейс не загрузится, а затем многопоточность каждой строки.