Советы по поводу VS2010 очень хорошие; его визуальный дизайнер действительно полезен по сравнению с XAML-дизайнером VS2008, который был менее чем бесполезным.
PR-машина Microsoft активно использует шаблон «Model-View-ViewModel» для бизнес-приложений до такой степени, что они действительно рекомендуют вещи, которые могут тратить ваше время.
Не не тратите часы, пытаясь вставить все в XAML, если только у вашей компании или клиента нет процедур, требующих этого. Если вы можете кодировать его быстрее в VB или C #, а код все еще можно обслуживать, тестировать и читать, сделайте это.
Не не стать пуристом MVVM; даже Microsoft не определила подходящий баланс для этого шаблона, и даже с помощью Silverlight 4 у них не было хорошего набора инструментов разработки или лучших практик для этого шаблона, хотя с тех пор прошло уже почти пять лет. это было впервые предложено; все еще есть очень веские причины отказаться от ICommand и INotifyPropertyChanged в пользу простого вызова метода в ViewModel из кода. Кроме того, ни один эксперт не из Microsoft WPF / Silverlight, которого я слушал в последние несколько месяцев, не смог сказать: «Я пока не уверен в MVVM, я не пурист».
Найдите баланс и используйте XAML для того, что работает для вас, и C # или VB для того, что работает для вас. Разработчики MS в своих блогах любят называть XAML «разметкой», а C # или VB - «кодом, к сожалению». Что ж, если вы набираете или раскладываете, то это весь код, и правда в том, что все, что XAML интерпретирует, а затем превращает в C # или VB в файлах, которые вы не можете увидеть или легко отредактировать, прежде чем его скомпилировать , (Например, Application.g.vb создается из Application.xaml как частичный класс.)
Существуют конструкции XAML, такие как анимации и раскадровки, для размещения которых в XAML требуется много строк, но в процедурных языках может потребоваться только одна или две строки кода, и их на самом деле легче читать, особенно если анимация реагирует на событие только при определенных условиях. Делай то, что работает лучше всего.
Кроме того, если вы программируете и продолжаете использовать исключения во время выполнения, которые не имеют смысла, сделайте шаг назад, найдите альтернативный ответ, который поможет вам функционировать, и внедрите его. Большинство ошибок XAML не может быть перехвачено Intellisense или компилятором. Можно неделями бить головой о проблему XAML, которая может быть закодирована в C # или VB с ранним связыванием за сравнительно гораздо более короткое время.
Короче говоря, расслабьтесь и используйте свои лучшие практики, используя инструменты VS2010, и вы сможете набрать скорость.