Я чувствую, что сообщество MVVM стало слишком усердным, как программисты OO в 90-х - это неправильное обозначение MVVM является синонимом отсутствия кода. Из моего закрытого вопроса StackOverflow :
Много раз я сталкивался с сообщениями о том, что кто-то пытается сделать эквивалент в XAML вместо кода позади. Их единственная причина в том, что они хотят сохранить свой код «чистым». Поправь меня, если я ошибаюсь, но дело не в том, что:
XAML тоже компилируется - в BAML - тогда во время выполнения все равно должен быть разобран в код. XAML потенциально может иметь больше ошибок времени выполнения, так как они не будут обнаружены компилятором во время компиляции - из-за неправильного написания - эти ошибки также сложнее отлаживать. Там уже есть код - нравится это или нет InitializeComponent (); должен быть запущен, и файл .gics, в котором он находится, содержит кучу кода, хотя он может быть скрыт. Это чисто психологическое? Я подозреваю, что это разработчики, которые приходят из веб-фона и любят разметку, а не код.
РЕДАКТИРОВАТЬ: я не предлагаю код позади вместо XAML - используйте оба - я предпочитаю делать связывание и в XAML - я просто против того, чтобы делать все возможное, чтобы не писать код позади esp в приложении WPF - это должно быть слияние оба, чтобы получить максимальную отдачу от этого.
ОБНОВЛЕНИЕ: Это даже не идея Microsoft, каждый пример на MSDN показывает, как вы можете сделать это в обоих случаях.