ControlTemplate in WPF —— TabControl

来源:互联网 发布:素媛用什么软件看 编辑:程序博客网 时间:2024/06/02 05:43
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"                    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"                    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"                    mc:Ignorable="d">  <ResourceDictionary.MergedDictionaries>    <ResourceDictionary Source="Shared.xaml" />  </ResourceDictionary.MergedDictionaries>  <!--<SnippetTabControl>-->  <!--<Snippet13>-->  <Style  TargetType="{x:Type TabControl}">    <Setter Property="OverridesDefaultStyle"            Value="True" />    <Setter Property="SnapsToDevicePixels"            Value="True" />    <Setter Property="Template">      <Setter.Value>        <ControlTemplate TargetType="{x:Type TabControl}">          <Grid KeyboardNavigation.TabNavigation="Local">            <Grid.RowDefinitions>              <RowDefinition Height="Auto" />              <RowDefinition Height="*" />            </Grid.RowDefinitions>            <VisualStateManager.VisualStateGroups>              <VisualStateGroup x:Name="CommonStates">                <VisualState x:Name="Disabled">                  <Storyboard>                    <ColorAnimationUsingKeyFrames Storyboard.TargetName="Border"                                                  Storyboard.TargetProperty="(Border.BorderBrush).                      (SolidColorBrush.Color)">                      <EasingColorKeyFrame KeyTime="0"                                           Value="#FFAAAAAA" />                    </ColorAnimationUsingKeyFrames>                  </Storyboard>                </VisualState>              </VisualStateGroup>            </VisualStateManager.VisualStateGroups>            <TabPanel x:Name="HeaderPanel"                      Grid.Row="0"                      Panel.ZIndex="1"                      Margin="0,0,4,-1"                      IsItemsHost="True"                      KeyboardNavigation.TabIndex="1"                      Background="Transparent" />            <Border x:Name="Border"                    Grid.Row="1"                    BorderThickness="1"                    CornerRadius="2"                    KeyboardNavigation.TabNavigation="Local"                    KeyboardNavigation.DirectionalNavigation="Contained"                    KeyboardNavigation.TabIndex="2">              <Border.Background>                <LinearGradientBrush EndPoint="0.5,1"                                     StartPoint="0.5,0">                  <GradientStop Color="{DynamicResource ContentAreaColorLight}"                                Offset="0" />                  <GradientStop Color="{DynamicResource ContentAreaColorDark}"                                Offset="1" />                </LinearGradientBrush>              </Border.Background>              <Border.BorderBrush>                <SolidColorBrush Color="{DynamicResource BorderMediumColor}"/>              </Border.BorderBrush>              <ContentPresenter x:Name="PART_SelectedContentHost"                                Margin="4"                                ContentSource="SelectedContent" />            </Border>          </Grid>        </ControlTemplate>      </Setter.Value>    </Setter>  </Style>  <!--</Snippet13>-->  <Style TargetType="{x:Type TabItem}">    <Setter Property="Template">      <Setter.Value>        <ControlTemplate TargetType="{x:Type TabItem}">          <Grid x:Name="Root">            <VisualStateManager.VisualStateGroups>              <VisualStateGroup x:Name="SelectionStates">                <VisualState x:Name="Unselected" />                <VisualState x:Name="Selected">                  <Storyboard>                    <ColorAnimationUsingKeyFrames Storyboard.TargetName="Border"                                                  Storyboard.TargetProperty="(Panel.Background).                      (GradientBrush.GradientStops)[1].(GradientStop.Color)">                      <EasingColorKeyFrame KeyTime="0"                                           Value="{StaticResource ControlPressedColor}" />                    </ColorAnimationUsingKeyFrames>                    <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderThickness)"                                                      Storyboard.TargetName="Border">                      <EasingThicknessKeyFrame KeyTime="0"                                               Value="1,1,1,0" />                    </ThicknessAnimationUsingKeyFrames>                  </Storyboard>                </VisualState>              </VisualStateGroup>              <VisualStateGroup x:Name="CommonStates">                <VisualState x:Name="Normal" />                <VisualState x:Name="MouseOver" />                <VisualState x:Name="Disabled">                  <Storyboard>                    <ColorAnimationUsingKeyFrames Storyboard.TargetName="Border"                                                  Storyboard.TargetProperty="(Panel.Background).                      (GradientBrush.GradientStops)[1].(GradientStop.Color)">                      <EasingColorKeyFrame KeyTime="0"                                           Value="{StaticResource DisabledControlDarkColor}" />                    </ColorAnimationUsingKeyFrames>                    <ColorAnimationUsingKeyFrames Storyboard.TargetName="Border"                                                  Storyboard.TargetProperty="(Border.BorderBrush).                      (SolidColorBrush.Color)">                      <EasingColorKeyFrame KeyTime="0"                                           Value="{StaticResource DisabledBorderLightColor}"/>                    </ColorAnimationUsingKeyFrames>                  </Storyboard>                </VisualState>              </VisualStateGroup>            </VisualStateManager.VisualStateGroups>            <Border x:Name="Border"                    Margin="0,0,-4,0"                    BorderThickness="1,1,1,1"                    CornerRadius="2,12,0,0">              <Border.BorderBrush>                <SolidColorBrush Color="{DynamicResource BorderMediumColor}" />              </Border.BorderBrush>              <Border.Background>                <LinearGradientBrush StartPoint="0,0"                                     EndPoint="0,1">                  <LinearGradientBrush.GradientStops>                    <GradientStopCollection>                      <GradientStop Color="{DynamicResource ControlLightColor}"                                    Offset="0.0" />                      <GradientStop Color="{DynamicResource ControlMediumColor}"                                    Offset="1.0" />                    </GradientStopCollection>                  </LinearGradientBrush.GradientStops>                </LinearGradientBrush>              </Border.Background>              <ContentPresenter x:Name="ContentSite"                                VerticalAlignment="Center"                                HorizontalAlignment="Center"                                ContentSource="Header"                                Margin="12,2,12,2"                                RecognizesAccessKey="True" />            </Border>          </Grid>          <ControlTemplate.Triggers>            <Trigger Property="IsSelected"                     Value="True">              <Setter Property="Panel.ZIndex"                      Value="100" />            </Trigger>          </ControlTemplate.Triggers>        </ControlTemplate>      </Setter.Value>    </Setter>  </Style>  <!--</SnippetTabControl>--></ResourceDictionary>

原创粉丝点击