WPF Tips-TabContorl样式示例

MainWindow.xaml

<Grid x:Name="Content" DockPanel.Dock="Top" Margin="5,5,5,5">
                <TabControl x:Name="TabControl_Main" SelectionChanged="TabControl_Main_SelectionChanged"
                    Width="{Binding ActualWidth, ElementName=Content, Mode=OneWay}" 
                            Height="{Binding ActualHeight, ElementName=Content, Mode=OneWay}"  
                            BorderThickness="0" FontFamily="Microsoft YaHei" FontSize="16" Padding="0">
                    <TabItem Header="任务管理" Style="{StaticResource tabItemStyle}" Width="100" Height="60" Margin="0">
                        <Grid Background="#FFE5E5E5">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="45"/>
                                <RowDefinition Height="*"/>
                            </Grid.RowDefinitions>
                            <ToolBarTray Grid.Row="0" Background="Transparent"  IsLocked="True">
                                <ToolBar Background="Transparent">
                                    <Button x:Name="btnNewTask" Height="40" Padding="5" Background="Transparent" ToolTip="新建任务" Margin="5,0,5,5" Click="btnNewTask_Click">
                                        <StackPanel Orientation="Horizontal" Margin="0">
                                            <Image Source="new.png"/>
                                            <Label FontSize="12" Foreground="#FF006699" FontFamily="Microsoft YaHei">新建任务</Label>
                                        </StackPanel>
                                    </Button>
                                </ToolBar>                                
                            </ToolBarTray>
                            <Separator Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="5,0,5,0" Height="0.8"/>
                            <TabControl x:Name="TabControl_Data" Grid.Row="1" FontFamily="Microsoft YaHei" FontSize="14" BorderThickness="0" 
                                        SelectionChanged="TabControl_Data_SelectionChanged">
                                <TabItem Header="正在运行" Width="200" Height="30" Margin="0" Style="{StaticResource tabItemStyle2}">                                    
                                </TabItem>
                            </TabControl>
                        </Grid>
                    </TabItem>
                </TabControl>
            </Grid>

 

App.xaml

<Style x:Key="tabItemStyle" TargetType="TabItem">
            <Setter Property="Padding" Value="10,5,10,15"/>
            <Setter Property="Foreground" Value="White"/>
            <Setter Property="BorderThickness" Value="0"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TabItem}">
                        <Grid>
                            <Border Name="Border" Background="Transparent" BorderBrush="{TemplateBinding BorderBrush}"
                                    BorderThickness="0">
                                <ContentPresenter x:Name="ContentSite" VerticalAlignment="Center" HorizontalAlignment="Center"
                                                ContentSource="Header" Margin="12,2,12,2"/>
                            </Border>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter TargetName="Border" Property="Background" Value="#FF006699"></Setter>
                            </Trigger>
                            <Trigger Property="IsSelected" Value="True">
                                <Setter TargetName="Border" Property="Background" Value="#FF006699"></Setter>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
        <Style x:Key="tabItemStyle2" TargetType="TabItem">
            <Setter Property="Foreground" Value="#FF006699"/>
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TabItem}">
                        <Grid>
                            <Border Name="Border" Background="Transparent" 
                                    BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0,0,1,0">
                                <ContentPresenter x:Name="ContentSite" VerticalAlignment="Center" 
                                                  HorizontalAlignment="Center" ContentSource="Header"/>
                            </Border>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter TargetName="Border" Property="Background" Value="Transparent"></Setter>
                            </Trigger>
                            <Trigger Property="IsSelected" Value="True">
                                <Setter TargetName="Border" Property="Background" Value="White"></Setter>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Foreground" Value="#FF498DAF"></Setter>
                    <Setter Property="FontWeight" Value="Bold"></Setter>
                </Trigger>
                <Trigger Property="IsSelected" Value="True">
                    <Setter Property="Foreground" Value="#FF498DAF"></Setter>
                    <Setter Property="FontWeight" Value="Bold"></Setter>
                </Trigger>
            </Style.Triggers>
        </Style>

 

结果:

 

posted @ 2016-12-12 10:27  Jane&Coding  阅读(279)  评论(0)    收藏  举报