我目前正在使用 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>
编辑:我的实际问题是......是否可以在一个区域内有重复的视图?当我目前尝试它时,我得到一个关于它已经注册的异常。我真正需要的是绕过它或者可能创建一个允许它的区域。
谢谢你的帮助!!
干杯。圣。