Это действительно сводится к разделению проблем, шаблону проектирования MVVM и, что важнее всего (для меня) тестируемости модулей (и, следовательно, к поддерживаемости кода).
Это проще или сложнее для модульного тестированияколлекция UserControls, как ItemSource?Я бы сказал, что бизнес-логику для юнит-тестирования гораздо сложнее найти в Views.
Как вы, наверное, знаете (и я бы сказал, что это конкретно), основная причина MVVM выросла из необходимости улучшения тестируемостии ремонтопригодность, которую предложил MVC.В WPF MVVM обеспечивает надежное модульное тестирование логических уровней, независимых от уровней представления.
Если ваши логические операции встроены в уровни представления, будет сложнее проводить модульное тестирование, и, следовательно,снова) труднее поддерживать.Я помню из колледжа, и это подтверждает мою профессиональную карьеру: обслуживание плохо спроектированных решений очень дорого по сравнению с общим проектом.
Итак, краткий ответ: разделение представления и логики (поотсутствие таких вещей, как использование ItemsSource of UserControls), экономит деньги вашей компании в течение всего проекта в целом.В частности, в случае WPF существует разделение представления и логики через шаблон MVVM.