2009-04-06 2 views
1

В настоящее время я использую 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?

Спасибо,

+0

Hi Steeve. У вас есть код для обмена? –

+0

Другие вопросы: Почему ваша viewmodel привязывается к представлению? Это должно быть наоборот, viewmodels привязаны к Views. –

+0

Hi Ray, На самом деле, я использую тот же принцип, что вы можете видеть здесь: http://www.codeproject.com/KB/WPF/InternationalizedWizard.aspx У вас есть основная модель-модель, которая имеет свойство currentView (как объект). У вас есть две модели подробных представлений (назовем их VMdetail1 и VMdetail2). В моем основном представлении – 2009-04-07 07:38:58

ответ

2

Я получил сообщение в блоге по этому вопросу: http://www.robfe.com/2009/08/design-time-data-in-expression-blend-3/

мой пост все о показе данных в смеси без, чтобы эти данные отображались или даже создавались во время выполнения.

+0

Ваше сообщение действительно хорошее. Это лучшее решение этой проблемы. Мне потребовалось 10 часов, пока я не нашел «поддельный» файл данных. –

+0

Спасибо! Когда вы говорите, что потребовалось 10 часов, вы думаете, что я мог бы немного улучшить пост? –

 Смежные вопросы

  • Нет связанных вопросов^_^