首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

wpf自定义控件,高人

2012-02-14 
wpf自定义控件,求助高人。我自定义了一个tabcontrol(Inherits TabControl)在themes的Generic.xaml里面设置

wpf自定义控件,求助高人。
我自定义了一个tabcontrol(Inherits TabControl)
在themes的Generic.xaml里面设置了tabcontrol的Style,我想知道如何设置tabitem的style?求高人指点!谢谢!


[解决办法]

XML code
<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>    <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> 

热点排行