Я создаю оболочку. XAML
, в котором находится только TabControl
. Я пытаюсь создать новые вкладки в событии нажатия кнопки. С кодом, который я написал до сих пор, я могу создавать новые вкладки в событии с нажатием кнопки, но содержимое вкладки (региона) отображается только на вкладке FIRST, а созданные новые вкладки пустые. То есть Я не могу показать то же содержание (область) во вновь созданных закладок ...TabControl с областями PRISM
Shell.XAML
<TabControl Name="MyTabs"
Prism:RegionManager.RegionName="{x:Static inf:RegionConstants.MainRegion}">
</TabControl>
UserControl
, что я хотел бы добавить в закладки:
MainControls.XAML
<UserControl>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid x:Name="LeftGrid" Grid.Row="0" Grid.Column="0" Prism:RegionManager.RegionName="{x:Static inf:RegionConstants.InputRegion}">
<GridSplitter>
<Grid x:Name="RightGrid" Grid.Row="0" Grid.Column="0" Prism:RegionManager.RegionName="{x:Static inf:RegionConstants.OutputRegion}">
</Grid>
</UserControl>
Функция Добавить вкладку
private void New_Tab(object sender, RoutedEventArgs e)
{
TabItem tab = new TabItem();
tab.Header = "New Tab";
tab.Content = new MainControls();
MyTabs.Items.Add(tab);
}
Модуль для регистрации MainRegion
class CollaboratedModule :IModule
{
private IUnityContainer container = default(IUnityContainer);
private IRegionManager regionManager = default(IRegionManager);
public CollaboratedModule(IUnityContainer container, IRegionManager regionManager)
{
this.container = container;
this.regionManager = regionManager;
}
public void Initialize()
{
if (this.container != default(IUnityContainer) &&
this.regionManager != default(IRegionManager))
{
var IntergratedView = this.container.Resolve<MainControls>();
this.regionManager.AddToRegion(RegionConstants.MainRegion, IntergratedView);
this.regionManager.Regions[RegionConstants.MainRegion].Activate(IntergratedView);
}
}
}
Точно так же я создал модуль для регистрации InputRegion
и OutputRegion
. Может ли кто-нибудь сообщить мне, где проблема в этом коде и как я могу ее решить?