У меня была эта проблема, и я знаю, что это старый пост, но я думаю, что это может помочь кому-то, кто наткнется на это в будущем.
то, что я сделал, объявил модели представления как ресурсы
<Page.Resources>
<local:LocationListViewModel x:Key="LocationList" />
<local:LocationNewViewModel x:Key="NewLocation" />
<code:BinaryImageConverter x:Key="imgConverter" />
</Page.Resources>
, то какой контроль я хотел связать с указанной моделью представления, я добавил это в их datacontext
<TabItem x:Name="tabSettingsLocations" x:Uid="tabSettingsLocations"
Header="Locations"
DataContext="{StaticResource ResourceKey=LocationList}">....
<TabItem x:Name="tbSettingsLocationsAdd" x:Uid="tbSettingsLocationsAdd"
Header="Add New"
DataContext="{StaticResource ResourceKey=NewLocation}">....
<Image x:Name="imgSettingsLocationMapNew" x:Uid="imgSettingsLocationMapNew"
Source="{Binding Map, Converter={StaticResource imgConverter},
Mode=TwoWay}"
DataContext="{StaticResource ResourceKey=NewLocation}" />
Таким образом, в моем примере выше у меня есть Listview, связанный с моделью представления списка, и я создаю новое единственное местоположение для моей новой записи.Вы заметите, что, создав его как ресурс, я могу связать tabitem и изображение (которое не является дочерним элементом элемента tab) с новой моделью просмотра местоположения.
Моя команда для местоположения addnew находится вновая модель просмотра местоположения.
<TabItem x:Name="tbSettingsLocationsAdd" x:Uid="tbSettingsLocationsAdd"
Header="Add New"
DataContext="{StaticResource ResourceKey=NewLocation}">....
<Button x:Name="btnSettingsLocationSaveAdd" x:Uid="btnSettingsLocationSaveAdd" Content="Submit" Margin="0,80,10,0"
VerticalAlignment="Top" Style="{DynamicResource ButtonStyle}" HorizontalAlignment="Right" Width="75"
Command="{Binding AddCommand}" />.....
Какая дочерняя часть табе, которую я привязал к новой модели просмотра местоположения.
Надеюсь, это поможет.