我有以下代码来显示视图。
<TabControl>
<TabItem x:name=View1 ...>
<TabItem.Header>
<Grid>
<local:View1 />
</Grid>
</TabItem.Header>
</TabItem>
<TabItem x:name=View2 ...>
<TabItem.Header>
<Grid>
<local:View2 />
</Grid>
</TabItem.Header>
</TabItem>
<TabItem x:name=View3 ...>
<TabItem.Header>
<Grid>
<local:View3 />
</Grid>
</TabItem.Header>
</TabItem>
</TabControl>
现在出于某些导航目的,我想从其他模块导航到视图。所以我想我必须将区域添加到视图中。
那么我可以将区域添加到TabItem控件中吗?如
<TabControl>
<TabItem x:name=View1 prism:RegionManager.RegionName="Region1".../>
<TabItem x:name=View2 prism:RegionManager.RegionName="Region2".../>
<TabItem x:name=View3 prism:RegionManager.RegionName="Region3".../>
</TabControl>
还是我必须将TabItem
替换为ContentControl
?问题是代码在某种程度上在生产中。如果我更改它,不确定是否会有负面影响?
答案 0 :(得分:0)
您可以在每个ContentControl
中放置一个TabItem
并在其中托管区域。
通过谷歌搜索发现的“正常” TabControlRegionAdapter
(例如this one)使您可以将区域托管在TabControl
中,以便为您创建的每个视图都创建一个TabItem
添加到该区域-似乎不是您想要的 。
<TabControl>
<TabItem x:name=View1>
<ContentControl prism:RegionManager.RegionName="Region1"/>
</TabItem>
<TabItem x:name=View2>
<ContentControl prism:RegionManager.RegionName="Region2"/>
</TabItem>
<TabItem x:name=View3>
<ContentControl prism:RegionManager.RegionName="Region3"/>
</TabItem>
</TabControl>