【发布时间】:2020-09-29 07:09:14
【问题描述】:
假设我们有一个带有模块 A 和 B 的 Prism 7 应用程序。主窗口有一个选项卡控件和两个按钮,它们将模块 A 或 B 添加到选项卡控件。我为 Tab Control 项目创建了一个绑定,并实现了一个项目模板,其中包括 Prism Region,其名称与项目名称绑定。
<TabControl ItemsSource="{Binding Tabs}">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<ContentControl prism:RegionManager.RegionName="{Binding}" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
我面临的问题是区域名称似乎没有改变,即如果我首先添加模块 A,则所有下一个按钮单击都会添加模块 A,反之亦然。在我之前的问题Prism WPF Binding RegionManager.RegionName 中,我被解释说我不应该绑定RegionManger.RegionName,所以我的问题是,我应该如何实现要求?
【问题讨论】:
-
您应该只为 tabcontrol 分配一个区域,并将所有选项卡注册到同一区域。