Мы хотели бы создать приложение, которое можно быстро и легко «перекрасить» с максимально возможной гибкостью.Обычно это достигается путем замены шаблонов и стилей в словаре ресурсов.
Пользовательские элементы управления в WPF разработаны так, чтобы они выглядели «безликими».Вся логика заложена в коде, шаблоны элементов управления в словарях используются для связи вида с элементом управления.
Между MVVM и пользовательскими элементами управления есть много общего.Многие разработчики говорят, что MVVM превосходит пользовательские элементы управления.И то, и другое можно рассматривать как методы перемещения логики из представления в другой файл кода.Я думаю, что между этими двумя понятиями может быть семантическое различие, если виртуальная машина содержит логику, связанную с доменом, тогда как пользовательские элементы управления содержат логику, специфичную для представления.
Каков наилучший метод для перемещения XAML соответствующего представления в словарь ресурсов, который может бытьпоменялось?Должен ли я использовать прямые шаблоны данных в словаре (не мой предпочтительный метод, потому что представления сложны)?Должен ли я создать собственный элемент управления для замены представления и определить для него шаблон элемента управления (в результате дублирующийся код между элементом управления и виртуальной машиной)?Должен ли я использовать UserControls для представлений и изолировать XAML для этих элементов управления, чтобы эти файлы могли быть заменены словарями ресурсов?
Как бы вы справились с этой проблемой?Какие-либо предложения?
Спасибо!