В настоящее время я использую MVVM в проекте WPF, все работает очень хорошо. У меня есть один вид мастера и много подробных представлений, которыми я управляю с использованием свойства currentView в моем MasterViewModel. С помощью datatemplate я привязываю представление к viewmodel. На самом деле у моего главного представления есть contentcontrol, содержимое которого привязано к моему свойству CurrentView. Когда я устанавливаю это свойство currentview в viewmodel или другое, он вызывает соответствующий шаблон.MVVM + Datacontext + DataTemplate + Blend = проблемы
Моя проблема заключается в том, что, используя это, мои подробные представления не имеют явного datacontext, потому что он помещается на моем datatemplate. Поэтому в blend, когда я открываю свое представление, чтобы отредактировать его дизайн, у меня нет данных для привязки к моему представлению. Если я установлю datacontext на мое детальное представление, в blend я вижу все данные, которые я могу связать, но во время выполнения, datacontext, установленный с помощью datatemplate, переопределяется набором данных в моем подробном представлении, поэтому во время выполнения я не имею данных.
Кто-нибудь знает, как я могу создать хороший проект MVVM, с представлениями, управляемыми datatemplates и с datacontext, которые мы можем видеть с помощью Blend?
Спасибо,
Hi Steeve. У вас есть код для обмена? –
Другие вопросы: Почему ваша viewmodel привязывается к представлению? Это должно быть наоборот, viewmodels привязаны к Views. –
Hi Ray, На самом деле, я использую тот же принцип, что вы можете видеть здесь: http://www.codeproject.com/KB/WPF/InternationalizedWizard.aspx У вас есть основная модель-модель, которая имеет свойство currentView (как объект). У вас есть две модели подробных представлений (назовем их VMdetail1 и VMdetail2). В моем основном представлении – 2009-04-07 07:38:58