В настоящее время я работаю с элементом управления Tab и создал регион, который станет моим хостом.
то, что я пытаюсь сделать, это дважды добавить одно и то же представление к региону. Вы можете спросить, почему? и поскольку приложение представляет собой простое приложение для чата -, будет много экземпляров представления, но каждый из них будет иметь разную информацию.
мой код на данный момент;;
IConversationDetailsPresentationModel convDetailsView1 =
this.Container.Resolve<IConversationDetailsPresentationModel>();
IRegionManager manager = this.Container.Resolve<IRegionManager>();
manager.RegisterViewWithRegion("TabRegion", () => convDetailsView1);
IConversationDetailsPresentationModel convDetailsView2 =
this.Container.Resolve<IConversationDetailsPresentationModel>();
manager.RegisterViewWithRegion("TabRegion", () => convDetailsView2);
И мои взгляды зарегистрированы с единством вот так;
this.Container.RegisterType<IConversationDetailsPresentationModel, ConversationDetailsPresentationModel>(
new TransientLifetimeManager());
this.Container.RegisterType<IConversationDetailsView, ConversationDetailsView>(
new TransientLifetimeManager());
Кроме того, мой XAML
<TabControl TabStripPlacement="Left"
Width="Auto"
Height="Auto"
cal:RegionManager.RegionName="TabRegion"
Name="TabRegion"
SelectedItem="{Binding SelectedTab}">
<TabControl.ContentTemplate>
<DataTemplate>
<ContentControl cal:RegionManager.RegionName="TabContentRegion">
</ContentControl>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
Изменить :мой актуальный вопрос заключается в следующем. Возможно ли дублирование представлений внутри региона? Когда я пробую это в настоящее время, я получаю исключение о том, что оно уже зарегистрировано... что мне действительно нужно, так это обойти это или, возможно, создать регион, который это позволит.
Спасибо за любую помощь!!
ура. ст.