Я пытаюсь найти лучший способ связать свои представления и ViewModels в MVVM, и я остановился на первом взгляде ViewModel, используя , набранный DataTemplates, как описано в this article и в this answer. Я использую Prism и имею несколько модулей, которые имеют свои собственные проекты/библиотеки классов.Где я должен определять свои данные?
Мой вопрос: Где мои данные DataTemplates будут жить в моем решении?
- Должен ли я поставить DataTemplates в Словаре ресурсов, который живет в том же проекте, который имеет типы/ViewModels он делает?
- Должен ли я помещать DataTemplates в словарь ресурсов, который живет в проекте, который имеет MainWindow приложения (то есть Shell.xaml)?
- Должны ли эти словари ресурсов быть добавлены к
App.Current.MainWindow.Resources.MergedDictionaries
?
Надеюсь, этого достаточно для описания того, что я пытаюсь сделать.
Обновление: см. Комментарии выбранного ответа.
Эй, спасибо за ваше предложение. Я прочитал этот пост некоторое время назад, и я использую метод, который описывает там Рейчел. У меня есть проект Infrastructure с папкой «Темы», где я храню свои стили в «Словари ресурсов». Проблема в том, что этот проект инфраструктуры связан со всеми моими другими проектами/модулями. Чтобы использовать типизированные «DataTemplates», мне потребуются ссылки на проекты, которые содержат мои ViewModels, что означало бы создание циклической зависимости. Должен ли я создать отдельный проект для хранения только 'DataTemplates'? –
Я думаю, что вы можете создавать только те папки в сборке вашего модуля. Я делаю этот путь в текущем проекте - у меня есть общие шаблоны в отдельной сборке пользовательского интерфейса, и почти каждая сборка модуля имеет свою собственную папку «Темы» – chopikadze
Хорошо, это звучит как путь! Спасибо, я ценю ваш совет. Я посмотрю, смогу ли я заставить его работать. –