Загрузка XAML во время выполнения?

Сначала немного предыстории: я работаю над приложением и пытаюсь следовать соглашениям MVVM при его написании. Одна вещь, которую я хотел бы сделать, это иметь возможность придавать приложению различные «скины» для моего приложения. То же приложение, но показать один «скин» для одного клиента и другой «скин» для другого.

И вот мои вопросы:
1. Можно ли загрузить файл xaml во время выполнения и «назначить» его моему приложению?
2. Может ли файл xaml быть внешним файлом, находящимся в другой папке?
3. Может ли приложение легко переключиться на другой файл xaml или только во время запуска?

Так с чего мне начать искать информацию об этом? Какие методы WPF, если они существуют, обрабатывают эту функциональность?

Спасибо!

Изменить: тип «скининга», который я хочу сделать, это больше, чем просто изменение внешнего вида моих элементов управления. Идея в том, чтобы иметь совершенно другой интерфейс. Разные кнопки, разные раскладки. Вроде как, как одна версия приложения будет полностью доступна для экспертов, а другая версия будет упрощена для начинающих.

Ответы на вопрос(7)

Ваш ответ на вопрос