OK
在我的PRISM应用程序中,我有3个模块,每个模块都有3~6个视图。在每个模块中,当Initialize
方法运行时,在每个视图的每个RegisterViewWithRegion
之后,新的TabItem
出现在Shell
的TabControl
中。但我只想在启动时添加一个TabItem
,每次用户执行Command
和Navigation
时,都会出现新的TabItem
。此外,用户应该能够添加或删除TabItem
s。我该怎么办?实施新的RegionAdapter
还是什么?
这是我的外壳TabControl
:
<TabControl TabStripPlacement="Left" Grid.Column="2" Margin="6" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch"
prism:RegionManager.RegionName="{x:Static infrastructure:RegionNames.MainRagionName}">
<TabItem />
</TabControl>
这是RegisterViewWithRegion:
var codingMainTreeView = _container.Resolve<Views.CodingMainTreeView>();
_regionManager.RegisterViewWithRegion(RegionNames.MainRagionName, () => codingMainTreeView);
var vouchersMainView = _container.Resolve<Views.VouchersMainView>();
_regionManager.RegisterViewWithRegion(RegionNames.MainRagionName, () => vouchersMainView);
达米安·切鲁比尼的回答。