TabControl 表示包含多个项的控件,这些项共享屏幕上的同一空间。它允许用户在多个标签页之间切换,每个标签页都可以显示不同的内容。这种控件在组织信息、提供选项卡式界面等方面非常有用。
简单示例:
<TabControl Margin="10">
<TabItem>
<TabItem.Header>
<DockPanel>
<Path Data="{agile:IconKind Bank}" Fill="LightSalmon" Width="20" Height="20" Stretch="Uniform"/>
<TextBlock Text="主页"/>
</DockPanel>
</TabItem.Header>
</TabItem>
<TabItem>
<TabItem.Header>
<DockPanel>
<TextBlock Text="标签页2"/>
</DockPanel>
</TabItem.Header>
</TabItem>
<TabItem>
<TabItem.Header>
<DockPanel>
<TextBlock Text="标签页3"/>
</DockPanel>
</TabItem.Header>
</TabItem>
</TabControl>
正常标签是在项部排列放置, 第一个标签页加上一个路径图标。但有时候我们需要把标签页放左边或右边,这时就使用属性 TabStripPlacement 设置方向。
TabStripPlacement="Left"
TabStripPlacement="Right"
TabStripPlacement="Bottom"
但是放左边时候,文字长占空间时,这里可以使用旋转角度的方法让文字转270度,解决占空间问题。
<Style TargetType="{x:Type TabItem}">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<ContentPresenter Content="{TemplateBinding Content}">
<ContentPresenter.LayoutTransform>
<RotateTransform Angle="270" />
</ContentPresenter.LayoutTransform>
</ContentPresenter>
</DataTemplate>
</Setter.Value>
</Setter>
<Setter Property="Padding" Value="3" />
</Style>
另外还可以增加绑定和动画等效果。