<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:zmhc="clr-namespace:ZuneModdingHelper.Controls"
                    xmlns:sys="clr-namespace:System;assembly=mscorlib"
                    xmlns:theme="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero2">
    <Color x:Key="ZunePink">#F10DA1</Color>
    <Color x:Key="ZuneOrange">#E95214</Color>
    <Color x:Key="ZunePinkAlt">#EC0D91</Color>
    <Color x:Key="ZuneOrangeAlt">#F8A347</Color>
    <Color x:Key="ZuneMediumTextColor">#3C3C3C</Color>
    <Color x:Key="ZuneLightTextColor">#868686</Color>
    <Color x:Key="ZuneExtraLightTextColor">#B4B4B4</Color>

    <SolidColorBrush x:Key="ZuneMediumTextBrush" Color="{StaticResource ZuneMediumTextColor}"/>
    <SolidColorBrush x:Key="ZuneLightTextBrush" Color="{StaticResource ZuneLightTextColor}"/>
    <SolidColorBrush x:Key="ZuneExtraLightTextBrush" Color="{StaticResource ZuneExtraLightTextColor}"/>
    <SolidColorBrush x:Key="ZunePinkBrush" Color="{StaticResource ZunePink}"/>
    <SolidColorBrush x:Key="ZuneOrangeBrush" Color="{StaticResource ZuneOrange}"/>

    <LinearGradientBrush x:Key="ZuneVerticalGradient" EndPoint="0,1" StartPoint="0,0">
        <GradientStop Color="{StaticResource ZunePink}" Offset="0"/>
        <GradientStop Color="{StaticResource ZuneOrange}" Offset="1"/>
    </LinearGradientBrush>
    
    <LinearGradientBrush x:Key="ZuneHorizontalGradient" EndPoint="1,0" StartPoint="0,0">
        <LinearGradientBrush.GradientStops>
            <GradientStop Color="{StaticResource ZuneOrange}" Offset="0"/>
            <GradientStop Color="{StaticResource ZunePink}" Offset="1"/>
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>
    
    <LinearGradientBrush x:Key="ZuneHorizontalGradientAlt" EndPoint="1,0" StartPoint="0,0">
        <LinearGradientBrush.GradientStops>
            <GradientStop Color="{StaticResource ZuneOrangeAlt}" Offset="0"/>
            <GradientStop Color="{StaticResource ZunePinkAlt}" Offset="1"/>
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>

    <Style x:Key="ZuneTextBlock" TargetType="TextBlock">
        <Setter Property="FontFamily" Value="Segoe UI"/>
        <Setter Property="Typography.StylisticSet1" Value="True"/>
    </Style>

    <Style x:Key="ZuneBodyTextBlockStyle" TargetType="TextBlock" BasedOn="{StaticResource ZuneTextBlock}">
        <Setter Property="FontSize" Value="14"/>
        <Setter Property="TextWrapping" Value="Wrap"/>
        <Setter Property="Foreground" Value="{StaticResource ZuneMediumTextBrush}"/>
    </Style>
    
    <Style x:Key="ZuneHeaderTextStyle" TargetType="Run">
        <Setter Property="FontSize" Value="20"/>
        <Setter Property="FontFamily" Value="Segoe UI"/>
        <Setter Property="FontWeight" Value="SemiBold"/>
    </Style>

    <Style x:Key="ActionButtonStyle" TargetType="Button">
        <Style.Resources>
            <!-- Border -->
            <SolidColorBrush x:Key="NormalBorderBrush" Color="#33000000"/>
            <SolidColorBrush x:Key="HoverBorderBrush" Color="#3D000000"/>
            <SolidColorBrush x:Key="PressedBorderBrush" Color="#33000000"/>
            <SolidColorBrush x:Key="DisabledBorderBrush" Color="#14000000"/>

            <!-- Background -->
            <LinearGradientBrush x:Key="NormalBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
                <GradientStop Color="#F7F7F7" Offset="0"/>
                <GradientStop Color="#DFDFDF" Offset="1"/>
            </LinearGradientBrush>
            <LinearGradientBrush x:Key="HoverBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
                <GradientStop Color="#EAEAEA" Offset="0"/>
                <GradientStop Color="#D4D4D4" Offset="1"/>
            </LinearGradientBrush>
            <LinearGradientBrush x:Key="PressedBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
                <GradientStop Color="#F7F7F7" Offset="0"/>
                <GradientStop Color="#DFDFDF" Offset="1"/>
            </LinearGradientBrush>
            <LinearGradientBrush x:Key="DisabledBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
                <GradientStop Color="#66F7F7F7" Offset="0"/>
                <GradientStop Color="#57DFDFDF" Offset="1"/>
            </LinearGradientBrush>
        </Style.Resources>

        <Setter Property="Foreground" Value="{StaticResource ZuneMediumTextBrush}"/>
        <Setter Property="FontWeight" Value="Bold"/>
        <Setter Property="FontSize" Value="10"/>
        <Setter Property="Padding" Value="12,0"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border x:Name="Border" BorderThickness="1.5"
                            Background="{StaticResource NormalBackgroundBrush}"
                            BorderBrush="{StaticResource NormalBorderBrush}"
                            Padding="{TemplateBinding Padding}" CornerRadius="4">
                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />

                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal" />
                                <VisualState x:Name="MouseOver">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background)" Storyboard.TargetName="Border">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource HoverBackgroundBrush}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush)" Storyboard.TargetName="Border">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource HoverBorderBrush}" />
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Pressed">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background)" Storyboard.TargetName="Border">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PressedBackgroundBrush}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush)" Storyboard.TargetName="Border">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PressedBorderBrush}" />
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background)" Storyboard.TargetName="Border">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource DisabledBackgroundBrush}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush)" Storyboard.TargetName="Border">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource DisabledBorderBrush}" />
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="ActionButtonPinkStyle" TargetType="Button">
        <Style.Resources>
            <!-- Border -->
            <SolidColorBrush x:Key="NormalBorderBrush" Color="#80FFFFFF"/>
            <SolidColorBrush x:Key="HoverBorderBrush" Color="#B3FFFFFF"/>
            <SolidColorBrush x:Key="PressedBorderBrush" Color="#66FFFFFF"/>
            <SolidColorBrush x:Key="DisabledBorderBrush" Color="#00FFFFFF"/>

            <!-- Background -->
            <LinearGradientBrush x:Key="NormalBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
                <GradientStop Color="#EC008C" Offset="0"/>
                <GradientStop Color="#BE0071" Offset="1"/>
            </LinearGradientBrush>
            <LinearGradientBrush x:Key="HoverBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
                <GradientStop Color="#F000A3" Offset="0"/>
                <GradientStop Color="#CB0088" Offset="1"/>
            </LinearGradientBrush>
            <LinearGradientBrush x:Key="PressedBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
                <GradientStop Color="#D4007E" Offset="0"/>
                <GradientStop Color="#AB0065" Offset="1"/>
            </LinearGradientBrush>
            <LinearGradientBrush x:Key="DisabledBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
                <GradientStop Color="#66EC008C" Offset="0"/>
                <GradientStop Color="#66BE0071" Offset="1"/>
            </LinearGradientBrush>
        </Style.Resources>

        <Setter Property="FontWeight" Value="Bold"/>
        <Setter Property="FontSize" Value="11"/>
        <Setter Property="Padding" Value="12,0"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border x:Name="Border" BorderThickness="1.5"
                            TextBlock.Foreground="White"
                            Background="{StaticResource NormalBackgroundBrush}"
                            BorderBrush="{StaticResource NormalBorderBrush}"
                            Padding="{TemplateBinding Padding}" CornerRadius="4">
                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />

                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal" />
                                <VisualState x:Name="MouseOver">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background)" Storyboard.TargetName="Border">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource HoverBackgroundBrush}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush)" Storyboard.TargetName="Border">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource HoverBorderBrush}" />
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Pressed">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background)" Storyboard.TargetName="Border">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PressedBackgroundBrush}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush)" Storyboard.TargetName="Border">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PressedBorderBrush}" />
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background)" Storyboard.TargetName="Border">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource DisabledBackgroundBrush}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush)" Storyboard.TargetName="Border">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource DisabledBorderBrush}" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Control.Foreground)">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <SolidColorBrush Color="#858585"/>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="OverlayButtonStyle" TargetType="Button">
        <Setter Property="Background" Value="#4D000000"/>
        <Setter Property="BorderBrush" Value="Transparent"/>
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="Width" Value="32"/>
        <Setter Property="Height" Value="32"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
                        <Grid>
                            <Path x:Name="ForeCircle" Stroke="#CCFFFFFF" StrokeThickness="1" Fill="#4D000000"
                              HorizontalAlignment="Center" VerticalAlignment="Center">
                                <Path.Data>
                                    <EllipseGeometry RadiusX="12" RadiusY="12" Center="12,12"/>
                                </Path.Data>
                            </Path>
                            <ContentPresenter
                            Margin="{TemplateBinding Padding}"
                            HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                            VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                        </Grid>

                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal" />
                                <VisualState x:Name="MouseOver">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Effect" Storyboard.TargetName="ForeCircle">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <DropShadowEffect Direction="0" ShadowDepth="0" Color="White" BlurRadius="2" Opacity="0.5"/>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Pressed">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Effect" Storyboard.TargetName="ForeCircle">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                <DiscreteObjectKeyFrame.Value>
                                                    <DropShadowEffect Direction="0" ShadowDepth="0" Color="White" BlurRadius="4" Opacity="1.0"/>
                                                </DiscreteObjectKeyFrame.Value>
                                            </DiscreteObjectKeyFrame>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="ZuneProgressBarStyle" TargetType="{x:Type ProgressBar}">
        <Setter Property="Foreground" Value="#80000000"/>
        <Setter Property="Background" Value="{StaticResource ZuneHorizontalGradient}"/>
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="Height" Value="5"/>
        <Setter Property="Width" Value="100"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ProgressBar}">
                    <Grid Name="TemplateRoot" SnapsToDevicePixels="true">
                        <!--Background -->
                        <Rectangle Fill="{TemplateBinding Background}" />
                        <Rectangle Name="DeterminantBackground" Fill="{TemplateBinding Foreground}" />
                        <!--Glassy Highlight -->
                        <Rectangle Name="PART_Track" />

                        <!--Indicator -->
                        <Decorator x:Name="PART_Indicator" HorizontalAlignment="Left">
                            <!-- Indicator Background -->
                            <Rectangle x:Name="Indicator" Fill="{TemplateBinding Background}"/>
                        </Decorator>

                        <!-- Animated Background -->
                        <Rectangle>
                            <Rectangle.Fill>
                                <ImageBrush x:Name="Candystripe" TileMode="Tile"
                                            Viewport="0,0,10,5" ViewportUnits="Absolute"
                                            ImageSource="/Assets/Candystripe.png" Opacity="0.1" />
                            </Rectangle.Fill>
                        </Rectangle>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="Orientation" Value="Vertical">
                            <Setter TargetName="TemplateRoot" Property="LayoutTransform">
                                <Setter.Value>
                                    <RotateTransform Angle="-90"/>
                                </Setter.Value>
                            </Setter>
                        </Trigger>

                        <EventTrigger RoutedEvent="Loaded">
                            <BeginStoryboard>
                                <Storyboard>
                                    <RectAnimation Storyboard.TargetName="Candystripe"
                                                   Storyboard.TargetProperty="Viewport"
                                                   To="10,0,10,5" Duration="0:0:0.5" 
                                                   RepeatBehavior="Forever" />
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger>

                        <Trigger Property="IsIndeterminate" Value="true">
                            <Setter Property="Value" Value="100"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    
    <Style x:Key="ZuneListViewItemContainerStyle" TargetType="{x:Type ListViewItem}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ListViewItem}">
                    <Border x:Name="ItemBorder">
                        <ContentPresenter/>
                    </Border>

                    <ControlTemplate.Triggers>
                        <Trigger Property="IsSelected" Value="True">
                            <Setter TargetName="ItemBorder" Property="Background" Value="#D8D8D8" />
                        </Trigger>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter TargetName="ItemBorder" Property="Background" Value="#E8E8E8" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


    <!-- CheckBox -->
    
    <LinearGradientBrush x:Key="NormalCheckBoxBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
        <GradientStop Color="#E5E5E5" Offset="0"/>
        <GradientStop Color="#FFFFFF" Offset="1"/>
    </LinearGradientBrush>
    <SolidColorBrush x:Key="NormalCheckBoxBorderBrush" Color="#7F7F7F" />
    <SolidColorBrush x:Key="NormalCheckBoxCheckBrush" Color="#666666" />

    <LinearGradientBrush x:Key="HoverCheckBoxBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
        <GradientStop Color="#E5E5E5" Offset="0"/>
        <GradientStop Color="#FDFDFD" Offset="1"/>
    </LinearGradientBrush>
    <SolidColorBrush x:Key="HoverCheckBoxBorderBrush" Color="#333333" />
    <SolidColorBrush x:Key="HoverCheckBoxCheckBrush" Color="#000000" />

    <SolidColorBrush x:Key="DisabledCheckBoxBackgroundBrush" Color="#FFE6E6E6" />
    <SolidColorBrush x:Key="DisabledCheckBoxBorderBrush" Color="#FFBCBCBC" />
    <SolidColorBrush x:Key="DisabledCheckBoxCheckBrush" Color="#FF707070" />

    <Style x:Key="ZuneCheckBoxStyle" TargetType="CheckBox">
        <Setter Property="FocusVisualStyle" Value="{StaticResource &#221;}"/>
        <Setter Property="Background" Value="{DynamicResource NormalCheckBoxBackgroundBrush}" />
        <Setter Property="BorderBrush" Value="{DynamicResource NormalCheckBoxBorderBrush}" />
        <Setter Property="Foreground" Value="{DynamicResource ZuneMediumTextBrush}" />
        <Setter Property="BorderThickness" Value="1" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type CheckBox}">
                    <Grid x:Name="templateRoot" SnapsToDevicePixels="True" Background="Transparent">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>
                        <Border x:Name="checkBoxBorder" 
                                Width="13" Height="13" Margin="1" 
                                HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
                                VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
                                BorderThickness="{TemplateBinding BorderThickness}" 
                                Background="{TemplateBinding Background}" 
                                BorderBrush="{TemplateBinding BorderBrush}">
                            <Grid x:Name="markGrid">
                                <Path x:Name="optionMark" Opacity="0" Stretch="None" Fill="{DynamicResource NormalCheckBoxCheckBrush}"
                                      Data="M 8,2 V 3 H 7 V 4 H 6 V 5 H 5 V 6 H 4 V 5 H 2 V 7 H 3 V 8 H 4 V 9 H 5 V 8 H 6 V 7 H 7 V 6 H 8 V 5 H 9 V 4 h 1 V 2 Z"/>
                                <Rectangle x:Name="indeterminateMark" Margin="2" Opacity="0" Fill="{DynamicResource NormalCheckBoxCheckBrush}" />
                            </Grid>
                        </Border>
                        <ContentPresenter x:Name="contentPresenter" 
                                          RecognizesAccessKey="True" 
                                          Grid.Column="1" 
                                          Margin="{TemplateBinding Padding}" 
                                          SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" 
                                          HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
                                          VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
                                          Focusable="False"/>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="HasContent" Value="true">
                            <Setter Property="FocusVisualStyle" Value="{StaticResource &#238;}"/>
                            <Setter Property="Padding" Value="4,-1,0,0"/>
                        </Trigger>
                        <Trigger Property="IsMouseOver" Value="true">
                            <Setter Property="Background" Value="{DynamicResource HoverCheckBoxBackgroundBrush}" TargetName="checkBoxBorder" />
                            <Setter Property="BorderBrush" Value="{DynamicResource HoverCheckBoxBorderBrush}" TargetName="checkBoxBorder" />
                            <Setter Property="Fill" Value="{DynamicResource HoverCheckBoxCheckBrush}" TargetName="optionMark" />
                            <Setter Property="Fill" Value="{DynamicResource HoverCheckBoxCheckBrush}" TargetName="indeterminateMark" />
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="false">
                            <Setter Property="Background" Value="{DynamicResource DisabledCheckBoxBackgroundBrush}" TargetName="checkBoxBorder" />
                            <Setter Property="BorderBrush" Value="{DynamicResource DisabledCheckBoxBorderBrush}" TargetName="checkBoxBorder" />
                            <Setter Property="Fill" Value="{DynamicResource DisabledCheckBoxCheckBrush}" TargetName="optionMark" />
                            <Setter Property="Fill" Value="{DynamicResource DisabledCheckBoxCheckBrush}" TargetName="indeterminateMark" />
                        </Trigger>
                        <Trigger Property="IsChecked" Value="true">
                            <Setter Property="Opacity" Value="1" TargetName="optionMark" />
                            <Setter Property="Opacity" Value="0" TargetName="indeterminateMark" />
                        </Trigger>
                        <Trigger Property="IsChecked" Value="{x:Null}">
                            <Setter Property="Opacity" Value="0" TargetName="optionMark" />
                            <Setter Property="Opacity" Value="1" TargetName="indeterminateMark" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    
    <!-- RepeatButton -->
    <Style x:Key="ZuneRepeatButtonStyle" TargetType="{x:Type RepeatButton}">
        <Setter Property="FocusVisualStyle" Value="{StaticResource &#221;}"/>
        <Setter Property="BorderThickness" Value="1"/>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="Padding" Value="1"/>
        <Setter Property="Focusable" Value="false"/>
        <Setter Property="IsTabStop" Value="false"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type RepeatButton}">
                    <Border x:Name="border"
                            BorderThickness="1"
                            SnapsToDevicePixels="true"
                            Background="Transparent"
                            BorderBrush="Transparent">
                        <ContentPresenter x:Name="contentPresenter"
                                          Margin="{TemplateBinding Padding}"
                                          SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                          HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                          VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                          Focusable="False" />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <!-- RepeatButton Transparent -->
    <Style x:Key="ZuneTransparentRepeatButtonStyle" TargetType="{x:Type RepeatButton}">
        <Setter Property="OverridesDefaultStyle" Value="true"/>
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="Focusable" Value="false"/>
        <Setter Property="IsTabStop" Value="false"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type RepeatButton}">
                    <Rectangle Fill="{TemplateBinding Background}" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}"/>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


    <!-- Thumb & ScrollBar -->
    <SolidColorBrush x:Key="NormalScrollBrush" Color="#B9B9B9" />
    <SolidColorBrush x:Key="NormalScrollButtonBrush" Color="#858585" />
    <SolidColorBrush x:Key="HoverScrollBrush" Color="#474747" /> <!-- TODO: Get actual color -->
    <SolidColorBrush x:Key="HoverScrollButtonBrush" Color="Black" /> <!-- TODO: Get actual color -->
    <SolidColorBrush x:Key="PressedScrollButtonBrush" Color="#A7A7A7" /> <!-- TODO: Get actual color -->
    <SolidColorBrush x:Key="DisabledScrollButtonBrush" Color="#555555" /> <!-- TODO: Get actual color -->
    <sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">13</sys:Double>
    <sys:Double x:Key="{x:Static SystemParameters.HorizontalScrollBarHeightKey}">13</sys:Double>

    <Style x:Key="ZuneThumbStyle" TargetType="{x:Type Thumb}">
        <Setter Property="OverridesDefaultStyle" Value="true"/>
        <Setter Property="IsTabStop" Value="false"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Thumb}">
                    <Rectangle x:Name="rectangle"
                               SnapsToDevicePixels="True"
                               Fill="{DynamicResource NormalScrollBrush}"
                               Height="{TemplateBinding Height}"
                               Width="{TemplateBinding Width}"/>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsMouseOver" Value="true">
                            <Setter TargetName="rectangle" Property="Fill" Value="{DynamicResource HoverScrollBrush}" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


    <Style x:Key="ZuneScrollBarStyle" TargetType="{x:Type ScrollBar}">
        <Setter Property="Stylus.IsPressAndHoldEnabled" Value="false"/>
        <Setter Property="Stylus.IsFlicksEnabled" Value="false"/>
        <Setter Property="Background" Value="Transparent" />
        <Setter Property="BorderBrush" Value="{DynamicResource NormalScrollBrush}" />
        <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
        <Setter Property="BorderThickness" Value="0,0,1,0" />
        <Setter Property="Width" Value="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"/>
        <Setter Property="MinWidth" Value="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ScrollBar}">
                    <Grid x:Name="Bg" SnapsToDevicePixels="true">
                        <Grid.RowDefinitions>
                            <RowDefinition MaxHeight="{DynamicResource {x:Static SystemParameters.VerticalScrollBarButtonHeightKey}}"/>
                            <RowDefinition Height="0.00001*"/>
                            <RowDefinition MaxHeight="{DynamicResource {x:Static SystemParameters.VerticalScrollBarButtonHeightKey}}"/>
                        </Grid.RowDefinitions>
                        <Border
                            BorderThickness="{TemplateBinding BorderThickness}"
                            Grid.Row="1"
                            Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}" />
                        <RepeatButton x:Name="PART_LineUpButton"
                                      Command="{x:Static ScrollBar.LineUpCommand}"
                                      IsEnabled="{TemplateBinding IsMouseOver}"
                                      Style="{StaticResource ZuneRepeatButtonStyle}">
                            <Path x:Name="ArrowTop"
                                  Data="M 0 4 c 0 0 5 0 5 0 c 0 0 -2.5 -3.5 -2.5 -3.5 c 0 0 -2.5 3.5 -2.5 3.5 z"
                                  Stretch="Uniform" Margin="1"
                                  Fill="{DynamicResource NormalScrollButtonBrush}" />
                        </RepeatButton>
                        <Track x:Name="PART_Track"
                               IsDirectionReversed="true"
                               IsEnabled="{TemplateBinding IsMouseOver}"
                               Grid.Row="1">
                            <Track.DecreaseRepeatButton>
                                <RepeatButton Command="{x:Static ScrollBar.PageUpCommand}" Style="{StaticResource ZuneTransparentRepeatButtonStyle}"/>
                            </Track.DecreaseRepeatButton>
                            <Track.IncreaseRepeatButton>
                                <RepeatButton Command="{x:Static ScrollBar.PageDownCommand}" Style="{StaticResource ZuneTransparentRepeatButtonStyle}"/>
                            </Track.IncreaseRepeatButton>
                            <Track.Thumb>
                                <Thumb Width="9" Style="{StaticResource ZuneThumbStyle}" />
                            </Track.Thumb>
                        </Track>
                        <RepeatButton x:Name="PART_LineDownButton"
                                      Command="{x:Static ScrollBar.LineDownCommand}"
                                      IsEnabled="{TemplateBinding IsMouseOver}"
                                      Grid.Row="2"
                                      Style="{StaticResource ZuneRepeatButtonStyle}">
                            <Path x:Name="ArrowBottom"
                                  Data="M 5 0 c 0 0 -5 0 -5 0 c 0 0 2.5 3.5 2.5 3.5 c 0 0 2.5 -3.5 2.5 -3.5 z"
                                  Stretch="Uniform" Margin="1"
                                  Fill="{DynamicResource NormalScrollButtonBrush}" />
                        </RepeatButton>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding ElementName=PART_LineDownButton, Path=IsMouseOver}" Value="true" />
                                <Condition Binding="{Binding ElementName=PART_LineDownButton, Path=IsPressed}" Value="true" />
                            </MultiDataTrigger.Conditions>
                            <Setter TargetName="ArrowBottom" Property="Fill" Value="{DynamicResource PressedScrollButtonBrush}" />
                        </MultiDataTrigger>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding ElementName=PART_LineUpButton, Path=IsMouseOver}" Value="true" />
                                <Condition Binding="{Binding ElementName=PART_LineUpButton, Path=IsPressed}" Value="true" />
                            </MultiDataTrigger.Conditions>
                            <Setter TargetName="ArrowTop" Property="Fill" Value="{DynamicResource PressedScrollButtonBrush}" />
                        </MultiDataTrigger>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding ElementName=PART_LineDownButton, Path=IsMouseOver}" Value="true" />
                                <Condition Binding="{Binding ElementName=PART_LineDownButton, Path=IsPressed}" Value="false" />
                            </MultiDataTrigger.Conditions>
                            <Setter TargetName="ArrowBottom" Property="Fill" Value="{DynamicResource PressedScrollButtonBrush}" />
                        </MultiDataTrigger>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding ElementName=PART_LineUpButton, Path=IsMouseOver}" Value="true" />
                                <Condition Binding="{Binding ElementName=PART_LineUpButton, Path=IsPressed}" Value="false" />
                            </MultiDataTrigger.Conditions>
                            <Setter TargetName="ArrowTop" Property="Fill" Value="{DynamicResource HoverScrollButtonBrush}" />
                        </MultiDataTrigger>
                        <Trigger Property="IsEnabled" Value="false">
                            <Setter TargetName="ArrowTop" Property="Fill" Value="{DynamicResource DisabledScrollButtonBrush}" />
                            <Setter TargetName="ArrowBottom" Property="Fill" Value="{DynamicResource DisabledScrollButtonBrush}" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <Trigger Property="Orientation" Value="Horizontal">
                <Setter Property="Width" Value="Auto"/>
                <Setter Property="MinWidth" Value="0"/>
                <Setter Property="Height" Value="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarHeightKey}}"/>
                <Setter Property="MinHeight" Value="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarHeightKey}}"/>
                <Setter Property="BorderThickness" Value="0,0,0,1" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type ScrollBar}">
                            <Grid x:Name="Bg" SnapsToDevicePixels="true">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}"/>
                                    <ColumnDefinition Width="0.00001*"/>
                                    <ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}"/>
                                </Grid.ColumnDefinitions>
                                <Border
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    Grid.Column="1"
                                    Background="{TemplateBinding Background}"
                                    BorderBrush="{TemplateBinding BorderBrush}" />
                                <RepeatButton x:Name="PART_LineLeftButton"
                                              Command="{x:Static ScrollBar.LineLeftCommand}"
                                              IsEnabled="{TemplateBinding IsMouseOver}"
                                              Style="{StaticResource ZuneRepeatButtonStyle}">
                                    <Path x:Name="ArrowLeft"
                                          Data="M 4 5 c 0 0 -0 -5 -0 -5 c 0 0 -3.5 2.5 -3.5 2.5 c 0 0 3.5 2.5 3.5 2.5 z"
                                          Stretch="Uniform"
                                          Margin="1"
                                          Fill="{DynamicResource NormalScrollButtonBrush}" />
                                </RepeatButton>
                                <Track x:Name="PART_Track"
                                       Grid.Column="1"
                                       IsEnabled="{TemplateBinding IsMouseOver}">
                                    <Track.DecreaseRepeatButton>
                                        <RepeatButton Command="{x:Static ScrollBar.PageLeftCommand}" Style="{StaticResource ZuneTransparentRepeatButtonStyle}"/>
                                    </Track.DecreaseRepeatButton>
                                    <Track.IncreaseRepeatButton>
                                        <RepeatButton Command="{x:Static ScrollBar.PageRightCommand}" Style="{StaticResource ZuneTransparentRepeatButtonStyle}"/>
                                    </Track.IncreaseRepeatButton>
                                    <Track.Thumb>
                                        <Thumb Height="9" Style="{StaticResource ZuneThumbStyle}" />
                                    </Track.Thumb>
                                </Track>
                                <RepeatButton x:Name="PART_LineRightButton"
                                              Grid.Column="2"
                                              Command="{x:Static ScrollBar.LineRightCommand}"
                                              IsEnabled="{TemplateBinding IsMouseOver}"
                                              Style="{StaticResource ZuneRepeatButtonStyle}">
                                    <Path x:Name="ArrowRight"
                                          Data="M 0 5 c 0 0 0 -5 0 -5 c 0 0 3.5 2.5 3.5 2.5 c 0 0 -3.5 2.5 -3.5 2.5 z"
                                          Stretch="Uniform"
                                          Margin="1"
                                          Fill="{DynamicResource NormalScrollButtonBrush}" />
                                </RepeatButton>
                            </Grid>
                            <ControlTemplate.Triggers>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding ElementName=PART_LineRightButton, Path=IsMouseOver}" Value="true" />
                                        <Condition Binding="{Binding ElementName=PART_LineRightButton, Path=IsPressed}" Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter TargetName="ArrowRight" Property="Fill" Value="{DynamicResource PressedScrollButtonBrush}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding ElementName=PART_LineLeftButton, Path=IsMouseOver}" Value="true" />
                                        <Condition Binding="{Binding ElementName=PART_LineLeftButton, Path=IsPressed}" Value="true" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter TargetName="ArrowLeft" Property="Fill" Value="{DynamicResource PressedScrollButtonBrush}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding ElementName=PART_LineRightButton, Path=IsMouseOver}" Value="true" />
                                        <Condition Binding="{Binding ElementName=PART_LineRightButton, Path=IsPressed}" Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter TargetName="ArrowRight" Property="Fill" Value="{DynamicResource HoverScrollButtonBrush}" />
                                </MultiDataTrigger>
                                <MultiDataTrigger>
                                    <MultiDataTrigger.Conditions>
                                        <Condition Binding="{Binding ElementName=PART_LineLeftButton, Path=IsMouseOver}" Value="true" />
                                        <Condition Binding="{Binding ElementName=PART_LineLeftButton, Path=IsPressed}" Value="false" />
                                    </MultiDataTrigger.Conditions>
                                    <Setter TargetName="ArrowLeft" Property="Fill" Value="{DynamicResource HoverScrollButtonBrush}" />
                                </MultiDataTrigger>
                                <Trigger Property="IsEnabled" Value="false">
                                    <Setter TargetName="ArrowLeft" Property="Fill" Value="{DynamicResource DisabledScrollButtonBrush}" />
                                    <Setter TargetName="ArrowRight" Property="Fill" Value="{DynamicResource DisabledScrollButtonBrush}" />
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Trigger>
        </Style.Triggers>
    </Style>
    
    
    <!-- TextBox -->
    <SolidColorBrush x:Key="NormalTextBoxBackgroundBrush" Color="#FFFFFF" />
    <SolidColorBrush x:Key="NormalTextBoxForegroundBrush" Color="#000000" />
    <SolidColorBrush x:Key="NormalTextBoxBorderBrush" Color="#CCCCCC" />
    <SolidColorBrush x:Key="HoverTextBoxBorderBrush" Color="#CCCCCC" />
    <SolidColorBrush x:Key="FocusedTextBoxBorderBrush" Color="#FA6EC9" />
    
    <Style x:Key="ZuneTextBoxBaseStyle" TargetType="{x:Type TextBoxBase}">
        <Setter Property="Background" Value="{DynamicResource NormalTextBoxBackgroundBrush}"/>
        <Setter Property="Foreground" Value="{DynamicResource NormalTextBoxForegroundBrush}"/>
        <Setter Property="CaretBrush" Value="{DynamicResource NormalTextBoxForegroundBrush}"/>
        <Setter Property="BorderBrush" Value="{DynamicResource NormalTextBoxBorderBrush}"/>
        <Setter Property="BorderThickness" Value="1.5"/>
        <Setter Property="KeyboardNavigation.TabNavigation" Value="None"/>
        <Setter Property="HorizontalContentAlignment" Value="Left"/>
        <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
        <Setter Property="AllowDrop" Value="true"/>
        <Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst"/>
        <Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
        <Setter Property="SelectionBrush" Value="{StaticResource ZunePinkBrush}" />
        <Setter Property="SelectionTextBrush" Value="White" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type TextBoxBase}">
                    <Border x:Name="border"
                            Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}"
                            SnapsToDevicePixels="True">
                        <ScrollViewer x:Name="PART_ContentHost" 
                                      Focusable="false" 
                                      HorizontalScrollBarVisibility="Hidden" 
                                      VerticalScrollBarVisibility="Hidden" />
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsEnabled" Value="false">
                            <Setter TargetName="border" Property="Opacity" Value="0.56"/>
                        </Trigger>
                        <Trigger Property="IsMouseOver" Value="true">
                            <Setter TargetName="border" Property="BorderBrush" Value="{DynamicResource HoverTextBoxBorderBrush}" />
                        </Trigger>
                        <Trigger Property="IsKeyboardFocused" Value="true">
                            <Setter TargetName="border" Property="BorderBrush" Value="{DynamicResource FocusedTextBoxBorderBrush}" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsInactiveSelectionHighlightEnabled" Value="true" />
                    <Condition Property="IsSelectionActive" Value="false" />
                </MultiTrigger.Conditions>
                <Setter Property="SelectionBrush" Value="{DynamicResource {x:Static SystemColors.InactiveSelectionHighlightBrushKey}}" />
                <Setter Property="SelectionTextBrush" Value="{DynamicResource {x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}}" />
            </MultiTrigger>
        </Style.Triggers>
    </Style>
    
    
    <!-- ComboBox -->

    <LinearGradientBrush x:Key="ComboBoxNormalBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
        <GradientStop Color="#F7F7F7" Offset="0"/>
        <GradientStop Color="#E0E0E0" Offset="1"/>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="ComboBoxHoverBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
        <GradientStop Color="#FDFDFD" Offset="0"/>
        <GradientStop Color="#EAEAEA" Offset="1"/>
    </LinearGradientBrush>
    <LinearGradientBrush x:Key="ComboBoxDisabledBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
        <GradientStop Color="#E5E5E5" Offset="0"/>
        <GradientStop Color="#D5D5D5" Offset="1"/>
    </LinearGradientBrush>

    <SolidColorBrush x:Key="ComboBoxNormalBorderBrush" Color="#e3e9ef" />
    <SolidColorBrush x:Key="ComboBoxDisabledForegroundBrush" Color="#888" />
    <SolidColorBrush x:Key="ComboBoxDisabledBorderBrush" Color="#888" />

    <ControlTemplate x:Key="ZuneComboBoxToggleButton" TargetType="ToggleButton">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition Width="20" />
            </Grid.ColumnDefinitions>
            <Border Grid.ColumnSpan="2" Name="Border"
                    BorderBrush="{StaticResource ComboBoxNormalBorderBrush}" 
                    CornerRadius="0" BorderThickness="1, 1, 1, 1" 
                    Background="{StaticResource ComboBoxNormalBackgroundBrush}" />
            <Border Grid.Column="1" Margin="1, 1, 1, 1" BorderBrush="#444" Name="ButtonBorder"
                    CornerRadius="0, 0, 0, 0" BorderThickness="0, 0, 0, 0" 
                    Background="{StaticResource ComboBoxNormalBackgroundBrush}" />

            <Path Name="Arrow" Grid.Column="1" 
                  Data="M0,0 L0,2 L4,6 L8,2 L8,0 L4,4 z"
                  HorizontalAlignment="Center" Fill="#444"
                  VerticalAlignment="Center" />
        </Grid>
        <ControlTemplate.Triggers>
            <Trigger Property="UIElement.IsMouseOver" Value="True">
                <Setter Property="Panel.Background" TargetName="Border" Value="{StaticResource ComboBoxHoverBackgroundBrush}"/>
            </Trigger>
            <Trigger Property="ToggleButton.IsChecked" Value="True">
                <Setter Property="Panel.Background" TargetName="ButtonBorder" Value="WhiteSmoke"/>
                <Setter Property="Shape.Fill" TargetName="Arrow" Value="#FF8D979E"/>
            </Trigger>
            <Trigger Property="UIElement.IsEnabled" Value="False">
                <Setter Property="Panel.Background" TargetName="Border" Value="{StaticResource ComboBoxDisabledBackgroundBrush}"/>
                <Setter Property="Panel.Background" TargetName="ButtonBorder" Value="{StaticResource ComboBoxDisabledBackgroundBrush}"/>
                <Setter Property="Border.BorderBrush" TargetName="ButtonBorder" Value="{StaticResource ComboBoxDisabledBorderBrush}"/>
                <Setter Property="TextElement.Foreground" Value="{StaticResource ComboBoxDisabledForegroundBrush}"/>
                <Setter Property="Shape.Fill" TargetName="Arrow" Value="#999"/>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

    <Style x:Key="ZuneComboBoxStyle"  TargetType="{x:Type ComboBox}">
        <Setter Property="UIElement.SnapsToDevicePixels" Value="True"/>
        <Setter Property="FrameworkElement.OverridesDefaultStyle" Value="True"/>
        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
        <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
        <Setter Property="ScrollViewer.CanContentScroll" Value="True"/>
        <Setter Property="TextElement.Foreground" Value="Black"/>
        <Setter Property="FrameworkElement.FocusVisualStyle" Value="{x:Null}"/>
        <Setter Property="Control.Template">
            <Setter.Value>
                <ControlTemplate TargetType="ComboBox">
                    <Grid>
                        <ToggleButton Name="ToggleButton" Grid.Column="2"
                                      ClickMode="Press" Focusable="False"
                                      IsChecked="{Binding Path=IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
                                      Template="{StaticResource ZuneComboBoxToggleButton}"/>

                        <ContentPresenter Name="ContentSite" Margin="5, 3, 23, 3" IsHitTestVisible="False"
                                          HorizontalAlignment="Left" VerticalAlignment="Center"
                                          Content="{TemplateBinding ComboBox.SelectionBoxItem}" 
                                          ContentTemplate="{TemplateBinding ComboBox.SelectionBoxItemTemplate}"
                                          ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"/>
                        <TextBox Name="PART_EditableTextBox" Margin="3, 3, 23, 3"                     
                                 IsReadOnly="{TemplateBinding IsReadOnly}"
                                 Visibility="Hidden" Background="Transparent"
                                 HorizontalAlignment="Left" VerticalAlignment="Center"
                                 Focusable="True">
                            <TextBox.Template>
                                <ControlTemplate TargetType="TextBox" >
                                    <Border Name="PART_ContentHost" Focusable="False" />
                                </ControlTemplate>
                            </TextBox.Template>
                        </TextBox>
                        <!-- Popup showing items -->
                        <Popup Name="Popup" Placement="Bottom"
                               Focusable="False" AllowsTransparency="True"
                               IsOpen="{TemplateBinding ComboBox.IsDropDownOpen}"
                               PopupAnimation="Slide">
                            <Grid Name="DropDown" SnapsToDevicePixels="True"
                                  MinWidth="{TemplateBinding FrameworkElement.ActualWidth}"
                                  MaxHeight="{TemplateBinding ComboBox.MaxDropDownHeight}">
                                <Border Name="DropDownBorder" Background="White" Margin="0, 1, 0, 0"
                                        CornerRadius="0" BorderThickness="1,1,1,1" 
                                        BorderBrush="{StaticResource ComboBoxNormalBorderBrush}"/>
                                <ScrollViewer Margin="4" SnapsToDevicePixels="True">
                                    <ItemsPresenter KeyboardNavigation.DirectionalNavigation="Contained" />
                                </ScrollViewer>
                            </Grid>
                        </Popup>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="ItemsControl.HasItems" Value="False">
                            <Setter Property="FrameworkElement.MinHeight" TargetName="DropDownBorder" Value="95"/>
                        </Trigger>
                        <Trigger Property="UIElement.IsEnabled" Value="False">
                            <Setter Property="TextElement.Foreground" Value="{StaticResource ComboBoxDisabledForegroundBrush}"/>
                        </Trigger>
                        <Trigger Property="ItemsControl.IsGrouping" Value="True">
                            <Setter Property="ScrollViewer.CanContentScroll" Value="False"/>
                        </Trigger>
                        <Trigger Property="ComboBox.IsEditable" Value="True">
                            <Setter Property="KeyboardNavigation.IsTabStop" Value="False"/>
                            <Setter Property="UIElement.Visibility" TargetName="PART_EditableTextBox" Value="Visible"/>
                            <Setter Property="UIElement.Visibility" TargetName="ContentSite" Value="Hidden"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <!-- Focus Visual -->
    <Style x:Key="&#221;">
        <Setter Property="Control.Template">
            <Setter.Value>
                <ControlTemplate>
                    <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

</ResourceDictionary>