wpf - 我可以将区域放在 TabItem 控件中吗?
问题描述
我有以下代码来显示视图。
<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
?问题是代码以某种方式在生产中。如果我改变它不确定有什么负面影响?
解决方案
您可以在其中放置一个并ContentControl
在其中TabItem
托管区域。
TabControlRegionAdapter
您通过谷歌搜索找到的“正常” (例如这个)允许您在其中托管区域,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>
推荐阅读
- python - 二维列表中的混合数据
- reactjs - 在 React.js 应用程序中覆盖 Ant 设计配置
- javascript - 如何实现具有一次读取 4 位节点的二进制树?
- c# - 登录应该发生在 asp.net 项目的前端或后端
- c++ - 想要使用 binarySearch 找到向量的最小和最大索引
- c# - 以动态方式在字符串中删除和添加逗号
- python - 什么是添加负乘法作为关键字参数的 Pythonic 方法
- python - GridSearchCV:XGBRegressor 中的参数错误
- r - 在 R Studio 中创建我的交易图
- swift - 在 FireBase 登录过程后导航到主屏幕(内容视图)。(斯威夫特用户界面)