我想更改某些WPF标签页眉的样式。除了这三件事外,我想保留标签页眉的所有原始样式-
增加页眉的高度
使每个标题的高度相同。通常,选定的选项卡具有更高的高度,我需要选定的和未选定的选项卡的高度都相同。
在每个标题的文本上方添加图片
这是我要做什么的前后图像-
有人知道怎么做吗?
最佳答案
在这里,您可以用漂亮的图像替换“堆栈”面板。
更新1-为了在填充选项卡时消除调整大小的效果,您需要更改TabItem
样式(标题模板太轻了)。只需获取一个StyleSnooper(http://blog.wpfwonderland.com/2007/01/02/wpf-tools-stylesnooper/),即可使用VS2010将其打开并重新编译为.NET4,然后启动,导航到TabItem
并搜索:
<Setter Property="FrameworkElement.Margin">
<Setter.Value>
<Thickness>
2,2,2,2</Thickness>
</Setter.Value>
</Setter>
<Setter Property="FrameworkElement.Margin" TargetName="Content">
<Setter.Value>
<Thickness>
2,2,2,2</Thickness>
</Setter.Value>
边距是您要更改以修复2的值。然后只需将修改后的版本放入资源中,以便应用程序可以将其提取。该样式包含许多您可以调整的便捷内容。
<Window x:Class="Immutables.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TabControl TabStripPlacement="Left" x:Name="AreasTabControl" Margin="1">
<TabItem x:Name="AttributesTab">
<TabItem.HeaderTemplate>
<DataTemplate>
<Grid Width="100" Height="40">
<Border BorderThickness="1" BorderBrush="Gray" HorizontalAlignment="Left" VerticalAlignment="Top">
<StackPanel Orientation="Horizontal">
<Rectangle VerticalAlignment="Top"
Width="5" Height="5" Fill="White" />
<Rectangle VerticalAlignment="Top"
Width="5" Height="5" Fill="Blue" />
<Rectangle VerticalAlignment="Top"
Width="5" Height="5" Fill="Red" />
</StackPanel>
</Border>
<TextBlock Margin="0,20,0,0">Go Russia!</TextBlock>
</Grid>
</DataTemplate>
</TabItem.HeaderTemplate>
</TabItem>
</TabControl>
</Grid>
</Window>