如何防止RegisterViewWithRegion在PRISM中添加新的TabItems



OK

在我的PRISM应用程序中,我有3个模块,每个模块都有3~6个视图。在每个模块中,当Initialize方法运行时,在每个视图的每个RegisterViewWithRegion之后,新的TabItem出现在ShellTabControl中。但我只想在启动时添加一个TabItem,每次用户执行CommandNavigation时,都会出现新的TabItem。此外,用户应该能够添加或删除TabItems。我该怎么办?实施新的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);

达米安·切鲁比尼的回答。

最新更新