Одна из приятных сторон XAML - это разделение представления и логики. Это разделение не только теоретическое, но и практическое. В моем случае большинство моих пользовательских интерфейсов теперь обрабатываются дизайнером. Этот дизайнер использует blend и не знает C #, не интересуется изучением c # и, честно говоря, не должен этого делать. Этот дизайнер - настоящий дизайнер, художник, который знает, как использовать эти инструменты, чтобы вещи выглядели действительно очень красиво.
По сути, моя философия такова: чем больше я использую XAML, тем меньше мне приходится работать над пользовательским интерфейсом, потому что он может это делать. Это хорошо сработало для нас. Обычно я создаю свой элемент управления без внешнего вида, придаю им базовый вид без излишеств, использую DataContext для привязки моего объекта (кстати, DataTriggers - отличный способ сократить код). В результате я часто проверяю свой код, возвращаюсь на следующий день, синхронизирую его, и пользовательский интерфейс будет выглядеть совершенно по-другому, но все по-прежнему работает !!!
Конечно, это заняло как минимум полтора года, но теперь эта модель, кажется, работает, и наш пользовательский интерфейс выглядит как Kick A ##, наше приложение заслуживает высокой оценки, и я мало работаю над самим пользовательским интерфейсом и получаю работать над более прохладными вещами. Короче говоря, я думаю, что код может быть немного более ориентированным на разработчиков и забывать целую другую группу, которая может извлечь выгоду, урезать и зарабатывать на жизнь, используя WPF, а именно дизайнеров.
Конечно, бывают времена, когда требуется девелопер, чтобы заставить XAML / WPF петь и танцевать, и иногда нам нужно обучать дизайнеров правильному способу делать что-то, но я думаю, что эти затраты окупаются многими в крупных проектах (может быть, не так коротко)