我计划将我的徽标添加到我的 wpf 项目中。我在我的项目中使用 tabControl 并且由于我想添加我的徽标,我希望将第一个选项卡标题向左移动,以便我的徽标可以适合(如第二张图片所示)。任何人都知道如何移动标签页眉位置?
我现在的项目:
移动我的选项卡标题后,我的项目将是这样的:
p / s:我对第二张图像进行了Photoshop处理,我不是从编码中制作出来的。
我计划将我的徽标添加到我的 wpf 项目中。我在我的项目中使用 tabControl 并且由于我想添加我的徽标,我希望将第一个选项卡标题向左移动,以便我的徽标可以适合(如第二张图片所示)。任何人都知道如何移动标签页眉位置?
我现在的项目:
移动我的选项卡标题后,我的项目将是这样的:
p / s:我对第二张图像进行了Photoshop处理,我不是从编码中制作出来的。
你可能会改变 TabControl 的模板
1.使用这种样式: http: //msdn.microsoft.com/en-us/library/ms754137%28v=vs.85%29.aspx
2.在网格中添加三列
3.设置 HeaderPanel 的 Grid.Column 为“1”
<Grid KeyboardNavigation.TabNavigation="Local">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/> //*
<ColumnDefinition Width="Auto"/> //*
<ColumnDefinition Width="*"/> //*
</Grid.ColumnDefinitions> //*
<TabPanel
Name="HeaderPanel"
Grid.Row="0"
Grid.Column="1" //*
Panel.ZIndex="1"
Margin="0,0,4,-1"
IsItemsHost="True"
KeyboardNavigation.TabIndex="1"
Background="Transparent" />
<Border
Name="Border"
Grid.Row="1"
Background="{StaticResource WindowBackgroundBrush}"
BorderBrush="{StaticResource SolidBorderBrush}"
BorderThickness="1"
CornerRadius="2"
KeyboardNavigation.TabNavigation="Local"
KeyboardNavigation.DirectionalNavigation="Contained"
KeyboardNavigation.TabIndex="2" >
<ContentPresenter
Name="PART_SelectedContentHost"
Margin="4"
ContentSource="SelectedContent" />
</Border>
</Grid>
Ramin 的解决方案效果很好。 关于使用该方法的一些附加说明:
首先,您需要向ColumnSpan
Border 添加一个,以便主 Tab 内容扩展到控件的整个宽度:
<Border Name="Border"
Grid.Row="1" Grid.ColumnSpan="3"
...
其次,这些 ColumnDefinitions:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
将使选项卡标题居中。如果您只希望第一个右移足够用于徽标或其他内容,则为第一列定义指定不同的宽度。
我使用这些列定义创建了一个快速示例:
<Grid.ColumnDefinitions>
<!-- the width to shift the first tab rightward (i.e., to make room for a logo)-->
<ColumnDefinition Width="87"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/> <!-- any extra space goes on the right -->
</Grid.ColumnDefinitions>
...产生这个: