В этот эпизод подкаста Hanselminutes , гость Лоран Бюньон (создатель MVVM Light), описывает, что с использованием конвертеров наблюдается снижение производительности.Он указывает, что это почти всегда незначительно в настольных приложениях, но в приложениях WP7 рекомендуется, чтобы модели представления выставляли такие вещи, как кисти, вместо того, чтобы сильно полагаться на преобразователи, особенно если речь идет о виртуализации списков, в этом случае прокрутка вызовет многоВызовы преобразования.
Возможно, что подобное происходит в вашем сценарии, просто учитывая количество триггеров (или преобразований, если вы сделали это переключение).
В качестве доказательстваВ качестве концепции вы можете рассмотреть обертывание вашей модели представления в «WPF Viewmodel», которая предоставляет сами цвета и другие специфичные для WPF значения, а не какое-либо значение, из которого цвета могут быть определены с помощью триггеров, вызывающих время выполнения, и IValueConverters
.После этого вы сможете напрямую связываться с этим и не использовать ни триггеры, ни конвертеры.Мне было бы интересно услышать результаты.