Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:sys="clr-namespace:System;assembly=mscorlib"
- xmlns:local="clr-namespace:Ircsil"
- xmlns:conv="clr-namespace:Ircsil.Converters">
- <!-- Brushes -->
- <LinearGradientBrush x:Key="TabHeaderBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
- <GradientBrush.GradientStops>
- <GradientStopCollection>
- <GradientStop Color="#fff" Offset="0.0"/>
- <GradientStop Color="#ddf" Offset="1.0"/>
- </GradientStopCollection>
- </GradientBrush.GradientStops>
- </LinearGradientBrush>
- <SolidColorBrush x:Key="TabHeaderBorderBrush" Color="DarkGray"/>
- <LinearGradientBrush x:Key="ContentBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
- <GradientBrush.GradientStops>
- <GradientStopCollection>
- <GradientStop Color="#ddf" Offset="0.0"/>
- <GradientStop Color="#eee" Offset="1.0"/>
- </GradientStopCollection>
- </GradientBrush.GradientStops>
- </LinearGradientBrush>
- <!-- Tab Control -->
- <Style x:Key="ChromeTabControl" TargetType="{x:Type TabControl}">
- <!--<Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="TabControl">
- <DockPanel>
- <StackPanel Orientation="Horizontal" IsItemsHost="True" DockPanel.Dock="Top" Panel.ZIndex="1"/>
- <Border Background="{StaticResource ContentBackgroundBrush}">
- <ContentPresenter ContentSource="SelectedContent" Panel.ZIndex="2"/>
- </Border>
- </DockPanel>
- </ControlTemplate>
- </Setter.Value>
- </Setter>-->
- <Setter Property="Background" Value="{StaticResource ContentBackgroundBrush}"/>
- <Setter Property="BorderThickness" Value="1"/>
- <Setter Property="BorderBrush" Value="{StaticResource TabHeaderBorderBrush}"/>
- </Style>
- <Style x:Key="{x:Type TabItem}" TargetType="TabItem">
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="TabItem">
- <StackPanel Name="itemPanel" Orientation="Horizontal" Margin="0,0,-24,-1" Background="{StaticResource TabHeaderBackgroundBrush}" Opacity="0.4" SnapsToDevicePixels="True">
- <StackPanel.Resources>
- <Style TargetType="Path">
- <Setter Property="SnapsToDevicePixels" Value="True"/>
- </Style>
- <sys:String x:Key="TabSideFillFigures">M 0,1 a 0.4,1.2 0 0 0 0.2828,-0.3515 l 0.0990,-0.2971 a 0.4,1.2 0 0 1 0.2828,-0.3515 l 0,1 Z</sys:String>
- <sys:String x:Key="TabSideBorderFigures">M 0,1 a 0.4,1.2 0 0 0 0.2828,-0.3515 l 0.0990,-0.2971 a 0.4,1.2 0 0 1 0.2828,-0.3515</sys:String>
- <CombinedGeometry x:Key="TabSideFillGeometry" GeometryCombineMode="Intersect">
- <CombinedGeometry.Geometry1>
- <PathGeometry Figures="{Binding Source={StaticResource TabSideFillFigures}}"/>
- </CombinedGeometry.Geometry1>
- <CombinedGeometry.Geometry2>
- <RectangleGeometry Rect="0.05,0,1,1"/>
- </CombinedGeometry.Geometry2>
- <CombinedGeometry.Transform>
- <ScaleTransform ScaleX="{Binding RenderSize.Height, ElementName=textBorder}" ScaleY="{Binding RenderSize.Height, ElementName=textBorder}"/>
- </CombinedGeometry.Transform>
- </CombinedGeometry>
- <PathGeometry x:Key="TabSideBorderGeometry" Figures="{Binding Source={StaticResource TabSideBorderFigures}}">
- <PathGeometry.Transform>
- <ScaleTransform ScaleX="{Binding RenderSize.Height, ElementName=textBorder}" ScaleY="{Binding RenderSize.Height, ElementName=textBorder}"/>
- </PathGeometry.Transform>
- </PathGeometry>
- <RectangleGeometry x:Key="ItemBoundsGeometryOLD">
- <RectangleGeometry.Rect>
- <MultiBinding Converter="{StaticResource WidthHeightToRectConverter}">
- <Binding Path="ActualWidth" ElementName="itemPanel"/>
- <Binding Path="ActualHeight" ElementName="itemPanel"/>
- </MultiBinding>
- </RectangleGeometry.Rect>
- </RectangleGeometry>
- <CombinedGeometry x:Key="ItemBoundsGeometry" GeometryCombineMode="Union">
- <CombinedGeometry.Geometry1>
- <RectangleGeometry>
- <RectangleGeometry.Rect>
- <MultiBinding Converter="{StaticResource WidthHeightToRectConverter}">
- <Binding Path="ActualWidth" ElementName="textBorder"/>
- <Binding Path="ActualHeight" ElementName="textBorder"/>
- </MultiBinding>
- </RectangleGeometry.Rect>
- <RectangleGeometry.Transform>
- <TransformGroup>
- <TranslateTransform X="{Binding ActualWidth, ElementName=leftSideBorderPath}"/>
- <TranslateTransform X="-1"/>
- </TransformGroup>
- </RectangleGeometry.Transform>
- </RectangleGeometry>
- </CombinedGeometry.Geometry1>
- <CombinedGeometry.Geometry2>
- <CombinedGeometry GeometryCombineMode="Union">
- <CombinedGeometry.Geometry1>
- <PathGeometry Figures="{Binding Source={StaticResource TabSideFillFigures}}">
- <PathGeometry.Transform>
- <TransformGroup>
- <ScaleTransform ScaleX="{Binding RenderSize.Height, ElementName=textBorder}" ScaleY="{Binding RenderSize.Height, ElementName=textBorder}"/>
- </TransformGroup>
- </PathGeometry.Transform>
- </PathGeometry>
- </CombinedGeometry.Geometry1>
- <CombinedGeometry.Geometry2>
- <PathGeometry Figures="{Binding Source={StaticResource TabSideFillFigures}}">
- <PathGeometry.Transform>
- <TransformGroup>
- <ScaleTransform ScaleX="-1"/>
- <ScaleTransform ScaleX="{Binding RenderSize.Height, ElementName=textBorder}" ScaleY="{Binding RenderSize.Height, ElementName=textBorder}"/>
- <TranslateTransform X="{Binding ActualWidth, ElementName=leftSideBorderPath}"/>
- <TranslateTransform X="{Binding ActualWidth, ElementName=textBorder}"/>
- <TranslateTransform X="{Binding ActualWidth, ElementName=rightSideBorderPath}"/>
- <TranslateTransform X="-2"/>
- </TransformGroup>
- </PathGeometry.Transform>
- </PathGeometry>
- </CombinedGeometry.Geometry2>
- </CombinedGeometry>
- </CombinedGeometry.Geometry2>
- </CombinedGeometry>
- <PathGeometry x:Key="ExcludeLeftSideGeometry" Figures="{Binding Source={StaticResource TabSideFillFigures}}">
- <PathGeometry.Transform>
- <TransformGroup>
- <ScaleTransform ScaleX="-1"/>
- <ScaleTransform ScaleX="{Binding RenderSize.Height, ElementName=textBorder}" ScaleY="{Binding RenderSize.Height, ElementName=textBorder}"/>
- <TranslateTransform x:Name="leftOverlap" X="0"/>
- </TransformGroup>
- </PathGeometry.Transform>
- </PathGeometry>
- <PathGeometry x:Key="ExcludeRightSideGeometry" Figures="{Binding Source={StaticResource TabSideFillFigures}}">
- <PathGeometry.Transform>
- <TransformGroup>
- <TranslateTransform x:Name="rightOverlap" X="0"/>
- <TranslateTransform X="-0.6646"/>
- <ScaleTransform ScaleX="{Binding RenderSize.Height, ElementName=textBorder}" ScaleY="{Binding RenderSize.Height, ElementName=textBorder}"/>
- <TranslateTransform X="{Binding ActualWidth, ElementName=itemPanel}"/>
- <TranslateTransform X="2"/>
- </TransformGroup>
- </PathGeometry.Transform>
- </PathGeometry>
- <CombinedGeometry x:Key="ExcludeBothSidesGeometry" Geometry1="{StaticResource ExcludeLeftSideGeometry}" Geometry2="{StaticResource ExcludeRightSideGeometry}" GeometryCombineMode="Union"/>
- <CombinedGeometry x:Key="ClipLeftSideGeometry" GeometryCombineMode="Exclude" Geometry1="{StaticResource ItemBoundsGeometry}" Geometry2="{StaticResource ExcludeLeftSideGeometry}"/>
- <CombinedGeometry x:Key="ClipRightSideGeometry" GeometryCombineMode="Exclude" Geometry1="{StaticResource ItemBoundsGeometry}" Geometry2="{StaticResource ExcludeRightSideGeometry}"/>
- <CombinedGeometry x:Key="ClipBothSidesGeometry" GeometryCombineMode="Exclude" Geometry1="{StaticResource ItemBoundsGeometry}" Geometry2="{StaticResource ExcludeBothSidesGeometry}"/>
- </StackPanel.Resources>
- <Path Name="leftSideBorderPath" Margin="0,0,0,-1" SnapsToDevicePixels="True" Data="{StaticResource TabSideBorderGeometry}" Stroke="{StaticResource TabHeaderBorderBrush}" Panel.ZIndex="1">
- <Path.LayoutTransform>
- <ScaleTransform ScaleX="1"/>
- </Path.LayoutTransform>
- </Path>
- <Border Name="textBorder" Margin="-1,0,-1,0" Padding="2" SnapsToDevicePixels="True" BorderThickness="0,1,0,0" BorderBrush="{StaticResource TabHeaderBorderBrush}" Panel.ZIndex="2">
- <StackPanel Orientation="Horizontal">
- <ContentPresenter ContentSource="Header" HorizontalAlignment="Center" VerticalAlignment="Center"
- RecognizesAccessKey="True" TextBlock.FontSize="14"/>
- </StackPanel>
- </Border>
- <Path Name="rightSideBorderPath" Margin="0,0,0,-1" SnapsToDevicePixels="True" Data="{StaticResource TabSideBorderGeometry}" Stroke="{StaticResource TabHeaderBorderBrush}" Panel.ZIndex="1">
- <Path.LayoutTransform>
- <ScaleTransform ScaleX="-1"/>
- </Path.LayoutTransform>
- </Path>
- </StackPanel>
- <ControlTemplate.Triggers>
- <Trigger Property="IsMouseOver" Value="True">
- <!--<Setter TargetName="leftSideFillPath" Property="Fill" Value="Gray" />
- <Setter TargetName="rightSideFillPath" Property="Fill" Value="Gray" />
- <Setter TargetName="textBorder" Property="Background" Value="Gray" />-->
- <Setter TargetName="itemPanel" Property="Opacity" Value="0.6"/>
- </Trigger>
- <Trigger Property="IsSelected" Value="True">
- <Setter TargetName="itemPanel" Property="Opacity" Value="1.0"/>
- </Trigger>
- <Trigger Property="IsEnabled" Value="False">
- <Setter Property="Foreground" Value="Gray" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </ResourceDictionary>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement