Ответ 1
Да, это возможно.
Используйте свойство cal:View.Context
, а затем назовите свое представление для указанного контекста, например YourNamespace.Something.ContextView
(удалите "ViewModel" из вашего имени модели просмотра, добавьте точку и значение свойства Context).
Таким образом, вы можете даже привязать несколько представлений к одной модели представления.
Пример:
<ContentControl x:Name="Toolbar" cal:View.Model="{Binding ActiveItem}" cal:View.Context="Toolbar" />
Вы можете увидеть рабочий пример здесь (из CoProject пример приложения часть 9).