Для функциональности, два очень популярных варианта - Управляемая расширяемая структура (MEF) и Руководство по составным приложениям (призма) .
Мне лично Призма нравится чуть лучше. Модель программирования имела для меня больше смысла, и в ней был EventAggregator, который делал связь между «веб-частями» (если хотите) простой и развязанной (использует механизм типа Pub-Sub).
Оба имеют функцию составления пользовательского интерфейса, которая звучит как то, что вам нужно, и оба довольно просты в использовании.
Как разработчик, создающий «веб-часть» или коллекцию веб-частей в Prism, вы должны:
- Создайте свой пользовательский интерфейс
- Создайте модуль и зарегистрируйте свой пользовательский интерфейс в «регионе» приложения.
Оттуда «оболочка» будет загружать все модули и показывать свои регионы, которые будут автоматически заполнены пользовательскими интерфейсами, которые модули зарегистрировали там.
Есть несколько довольно хороших примеров, которые облегчают понимание.
Надеюсь, это поможет,
Anderson