前言
在开发wpf程序过程中有时候控件比较多,导致一个页面显示不全,这时候就要分页显示,这时可以利用TabControl来实现分页显示功能。
1、普通TabControl

每一个TabItem都是一个标签容器,Header属性的值是容器显示的标签文字,下面的代码中有三个容器,容器显示的标签文字分别为"1"、"2"、"3",,每个容器里面都可以添加无数个控件。
csharp
<TabControl >
<TabItem Header=" 1">
<StackPanel >
<TextBlock Text="第一项"/>
</StackPanel >
</TabItem>
<TabItem Header=" 2">
<StackPanel >
<TextBlock Text="第二项"/>
</StackPanel >
</TabItem>
<TabItem Header=" 3">
<StackPanel >
<TextBlock Text="第三项"/>
</StackPanel >
</TabItem>
</TabControl >
2、自定义标签头的TabControl
标签头除了显示文本外,还可以以任意形式显示,比如下面的图像中标签除了文字以外还有一个红色的圆形,当然你也可以把红色圆形改成图标,这是通过设置TabItem.Header来实现,下面的代码中TabItem.Header放入一个StackPanel,然后StackPanel放入Ellipse和TextBlock
csharp
<TabControl >
<TabItem >
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<Ellipse Fill="Red" Width="16" Height="16"/>
<TextBlock Text="首页" Margin="2,0,0,0"/>
</StackPanel>
</TabItem.Header>
<StackPanel >
<TextBlock Text="第一项"/>
</StackPanel >
</TabItem>
<TabItem >
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<Ellipse Fill="Red" Width="16" Height="16"/>
<TextBlock Text="第2页" Margin="2,0,0,0"/>
</StackPanel>
</TabItem.Header>
<StackPanel >
<TextBlock Text="第二项"/>
</StackPanel >
</TabItem>
<TabItem >
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<Ellipse Fill="Red" Width="16" Height="16"/>
<TextBlock Text="第3页" Margin="2,0,0,0"/>
</StackPanel>
</TabItem.Header>
<StackPanel >
<TextBlock Text="第三项"/>
</StackPanel >
</TabItem>
</TabControl >