私は現在、タブ コントロールで作業しており、リージョンを作成したので、それがホストになります。
私がやろうとしているのは、同じビューをリージョンに 2 回追加することです..理由を尋ねるかもしれません。これは、アプリケーションが単純なチャット アプリになるためです。ビューには多くのインスタンスがありますが、それぞれに異なる情報が含まれます。
これまでの私のコード;;
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>
編集:私の実際の質問はこれです..リージョン内にビューを複製することは可能ですか? 現在試してみると、すでに登録されているという例外が発生します。本当に必要なのは、これをバイパスするか、それを許可するリージョンを作成することです。
助けてくれてありがとう!!
乾杯。ステ。