在WPF中,有时候使用选项卡TabControl来切换不同的内容页面的时候,不希望显示选项卡的标题头,比如下面的例子,正常情况下是这样的:
![](https://img.haomeiwen.com/i14575015/a3bb5b3e02a343f9.png)
希望隐藏红框中的部分:
![](https://img.haomeiwen.com/i14575015/0e6f00c2cdaa8cae.png)
要实现这个目的,有两个方式:
- 方式一:
设置TabControl.ItemSize.Width为0,Height为1
设置TabControl.SizeMode为Fixed
设置TabControl.Appearance为FlatButtons
private void TabControlHeaderHide(TabControl tabControl)
{
tabControl.Appearance = TabAppearance.FlatButtons;
tabControl.ItemSize = new Size(0, 1);
tabControl.SizeMode = TabSizeMode.Fixed;
}
- 方式二:
在XAML里对TabControl的内容加入如下代码:
<TabControl...>
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
</TabControl.ItemContainerStyle>
<TabItem.../>
<TabItem.../>
</TabControl>
以下是实现后的效果演示:
![](https://img.haomeiwen.com/i14575015/bf64d8415edd422e.png)
隐藏了TabItem后,不能再用鼠标来直接点击Tab Header进行切换,需要切换不同的Tab需要用代码变更TabContol的SelectIndex或者SelectItem属性进行切换。
网友评论