Я не использую единство или призму. Но почему бы вам просто не сделать это:
userControl.DataContext = ribbonViewModelInstance;
У вас может быть свойство зависимостей в пользовательском элементе управления, который установлен. При установке значения этого свойства зависимостей вы можете установить datacontext.
Существует две опции для этой проблемы.
1) перебаза мерзавцев
2) слияние мерзавца
Только разность с вышеупомянутым оба в случае слияния, будет иметь дополнительную фиксацию в истории
1) ответвление контроля мерзавца (b1, b2, b3)
2) источник/ведущее устройство перебазы мерзавцев (В случае конфликтов решают локально путем выполнения перебазы мерзавцев - продолжаются)
3) нажатие мерзавца
, С другой стороны, опция слияния мерзавца является подобным видом
1) контроль мерзавца "your_branch" (b1, b2, b3)
2) ведущее устройство слияния мерзавца
3) нажатие мерзавца