You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1256 lines
85 KiB
1256 lines
85 KiB
<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:Microsoft.Windows.Controls"
|
|
xmlns:coreConverters="clr-namespace:Microsoft.Windows.Controls.Core.Converters"
|
|
xmlns:magConverters="clr-namespace:Microsoft.Windows.Controls.Mag.Converters">
|
|
|
|
<!-- =============================================================================== -->
|
|
<!-- Common Converters -->
|
|
<!-- =============================================================================== -->
|
|
|
|
<coreConverters:InverseBoolConverter x:Key="InverseBoolConverter" />
|
|
|
|
<!-- =============================================================================== -->
|
|
<!-- Common Styles -->
|
|
<!-- =============================================================================== -->
|
|
|
|
<SolidColorBrush x:Key="ButtonHover" Color="#C2E0FF"/>
|
|
<SolidColorBrush x:Key="ButtonHoverBorder" Color="#3399FF"/>
|
|
<SolidColorBrush x:Key="ButtonChecked" Color="#E6F0FA"/>
|
|
<SolidColorBrush x:Key="ButtonPressed" Color="#99CCFF"/>
|
|
<SolidColorBrush x:Key="ButtonPressedBorder" Color="#3399FF"/>
|
|
|
|
<LinearGradientBrush x:Key="WindowDarkBrush" EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#FFA3AEB9" Offset="0"/>
|
|
<GradientStop Color="#FF8399A9" Offset="0.375"/>
|
|
<GradientStop Color="#FF718597" Offset="0.375"/>
|
|
<GradientStop Color="#FF617584" Offset="1"/>
|
|
</LinearGradientBrush>
|
|
|
|
<LinearGradientBrush x:Key="WindowBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
|
|
<LinearGradientBrush.GradientStops>
|
|
<GradientStopCollection>
|
|
<GradientStop Offset="0" Color="#FFffffff"/>
|
|
<GradientStop Offset="0.479" Color="#FFf4f5f6"/>
|
|
<GradientStop Offset="1" Color="#FFd0d6db"/>
|
|
</GradientStopCollection>
|
|
</LinearGradientBrush.GradientStops>
|
|
</LinearGradientBrush>
|
|
|
|
<LinearGradientBrush x:Key="WindowButtonHoverBrush" StartPoint="0,0" EndPoint="0,1">
|
|
<LinearGradientBrush.GradientStops>
|
|
<GradientStopCollection>
|
|
<GradientStop Offset="0" Color="#FFb5bdc8"/>
|
|
<GradientStop Offset="0.370" Color="#FF8399a9"/>
|
|
<GradientStop Offset="0.370" Color="#FF718597"/>
|
|
<GradientStop Offset="0.906" Color="#FFb9c1ca"/>
|
|
<GradientStop Offset="1" Color="#FFb9c1ca"/>
|
|
</GradientStopCollection>
|
|
</LinearGradientBrush.GradientStops>
|
|
</LinearGradientBrush>
|
|
|
|
<LinearGradientBrush x:Key="WindowButtonPressedBrush" StartPoint="0,0" EndPoint="0,1">
|
|
<LinearGradientBrush.GradientStops>
|
|
<GradientStopCollection>
|
|
<GradientStop Offset="0" Color="#FF6b7c8d"/>
|
|
<GradientStop Offset="0.370" Color="#FF4d606f"/>
|
|
<GradientStop Offset="0.370" Color="#FF465460"/>
|
|
<GradientStop Offset="0.906" Color="#FF262d33"/>
|
|
<GradientStop Offset="1" Color="#FF262d33"/>
|
|
</GradientStopCollection>
|
|
</LinearGradientBrush.GradientStops>
|
|
</LinearGradientBrush>
|
|
|
|
<Style x:Key="WindowCloseButtonStyle" TargetType="Button">
|
|
<Setter Property="Foreground" Value="#FF000000"/>
|
|
<Setter Property="Padding" Value="3"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Grid>
|
|
<VisualStateManager.VisualStateGroups>
|
|
<VisualStateGroup x:Name="CommonStates">
|
|
<VisualState x:Name="Normal"/>
|
|
<VisualState x:Name="MouseOver">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="Background" Storyboard.TargetProperty="(Border.Background)">
|
|
<DiscreteObjectKeyFrame KeyTime="00:00:00" Value="{StaticResource WindowButtonHoverBrush}"></DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
<VisualState x:Name="Pressed">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="Background" Storyboard.TargetProperty="(Border.Background)">
|
|
<DiscreteObjectKeyFrame KeyTime="00:00:00" Value="{StaticResource WindowButtonPressedBrush}"></DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateManager.VisualStateGroups>
|
|
<Border x:Name="Background" CornerRadius="0,0,2,0" Background="{StaticResource WindowDarkBrush}">
|
|
<Border Margin="1,0,1,1" BorderBrush="#59FFFFFF" BorderThickness="1" CornerRadius="0,0,1,0"/>
|
|
</Border>
|
|
<ContentPresenter x:Name="contentPresenter" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}"/>
|
|
<Path x:Name="path"
|
|
Height="6"
|
|
Width="7"
|
|
Stretch="Fill"
|
|
Opacity="1"
|
|
Data="M 2,6 C2,6 3,6 3,6 3,6 3,5 3,5 3,5 4,5 4,5 4,5 4,6 4,6 4,6 5,6 5,6 5,6 7,6 7,6 7,6 7,5 7,5 7,5 6,5 6,5 6,5 6,4 6,4 6,4 5,4 5,4 5,4 5,2 5,2 5,2 6,2 6,2 6,2 6,1 6,1 6,1 7,1 7,1 7,1 7,0 7,0 7,0 5,0 5,0 5,0 4,0 4,0 4,0 4,1 4,1 4,1 3,1 3,1 3,1 3,0 3,0 3,0 2,0 2,0 2,0 0,0 0,0 0,0 0,1 0,1 0,1 1,1 1,1 1,1 1,2 1,2 1,2 2,2 2,2 2,2 2,4 2,4 2,4 1,4 1,4 1,4 1,5 1,5 1,5 0,5 0,5 0,5 0,6 0,6 0,6 2,6 2,6 z"
|
|
Fill="White" Margin="0,0,0,1" Visibility="Collapsed" />
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- =============================================================================== -->
|
|
<!-- BusyIndicator -->
|
|
<!-- =============================================================================== -->
|
|
|
|
<Style TargetType="{x:Type local:BusyIndicator}">
|
|
<Setter Property="BusyContent" Value="Please wait..."/>
|
|
<Setter Property="IsTabStop" Value="False"/>
|
|
<Setter Property="Focusable" Value="False" />
|
|
<Setter Property="OverlayStyle">
|
|
<Setter.Value>
|
|
<Style TargetType="Rectangle">
|
|
<Setter Property="Fill" Value="White"/>
|
|
<Setter Property="Opacity" Value="0.5"/>
|
|
</Style>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="ProgressBarStyle">
|
|
<Setter.Value>
|
|
<Style TargetType="ProgressBar">
|
|
<Setter Property="IsIndeterminate" Value="True"/>
|
|
<Setter Property="Height" Value="15"/>
|
|
<Setter Property="Margin" Value="8,0,8,8"/>
|
|
</Style>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="DisplayAfter" Value="00:00:00.1"/>
|
|
<Setter Property="HorizontalAlignment" Value="Stretch"/>
|
|
<Setter Property="VerticalAlignment" Value="Stretch"/>
|
|
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
|
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type local:BusyIndicator}">
|
|
<Grid>
|
|
<VisualStateManager.VisualStateGroups>
|
|
<VisualStateGroup x:Name="VisibilityStates">
|
|
<VisualState x:Name="Hidden">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetName="busycontent" Storyboard.TargetProperty="(UIElement.Visibility)">
|
|
<DiscreteObjectKeyFrame KeyTime="00:00:00">
|
|
<DiscreteObjectKeyFrame.Value>
|
|
<Visibility>Collapsed</Visibility>
|
|
</DiscreteObjectKeyFrame.Value>
|
|
</DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetName="overlay" Storyboard.TargetProperty="(UIElement.Visibility)">
|
|
<DiscreteObjectKeyFrame KeyTime="00:00:00">
|
|
<DiscreteObjectKeyFrame.Value>
|
|
<Visibility>Collapsed</Visibility>
|
|
</DiscreteObjectKeyFrame.Value>
|
|
</DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
<VisualState x:Name="Visible">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetName="busycontent" Storyboard.TargetProperty="(UIElement.Visibility)">
|
|
<DiscreteObjectKeyFrame KeyTime="00:00:00">
|
|
<DiscreteObjectKeyFrame.Value>
|
|
<Visibility>Visible</Visibility>
|
|
</DiscreteObjectKeyFrame.Value>
|
|
</DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetName="overlay" Storyboard.TargetProperty="(UIElement.Visibility)">
|
|
<DiscreteObjectKeyFrame KeyTime="00:00:00">
|
|
<DiscreteObjectKeyFrame.Value>
|
|
<Visibility>Visible</Visibility>
|
|
</DiscreteObjectKeyFrame.Value>
|
|
</DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
<VisualStateGroup x:Name="BusyStatusStates">
|
|
<VisualState x:Name="Idle">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetName="content" Storyboard.TargetProperty="(Control.IsEnabled)">
|
|
<DiscreteObjectKeyFrame KeyTime="00:00:00">
|
|
<DiscreteObjectKeyFrame.Value>
|
|
<sys:Boolean>True</sys:Boolean>
|
|
</DiscreteObjectKeyFrame.Value>
|
|
</DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
<VisualState x:Name="Busy">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetName="content" Storyboard.TargetProperty="(Control.IsEnabled)">
|
|
<DiscreteObjectKeyFrame KeyTime="00:00:00">
|
|
<DiscreteObjectKeyFrame.Value>
|
|
<sys:Boolean>False</sys:Boolean>
|
|
</DiscreteObjectKeyFrame.Value>
|
|
</DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateManager.VisualStateGroups>
|
|
<ContentControl x:Name="content" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
|
<Rectangle x:Name="overlay" Style="{TemplateBinding OverlayStyle}"/>
|
|
<ContentPresenter x:Name="busycontent">
|
|
<ContentPresenter.Content>
|
|
<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Border Background="White" BorderThickness="1" CornerRadius="2">
|
|
<Border.BorderBrush>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Color="#FFA3AEB9" Offset="0"/>
|
|
<GradientStop Color="#FF8399A9" Offset="0.375"/>
|
|
<GradientStop Color="#FF718597" Offset="0.375"/>
|
|
<GradientStop Color="#FF617584" Offset="1"/>
|
|
</LinearGradientBrush>
|
|
</Border.BorderBrush>
|
|
<Border CornerRadius="1.5" Margin="1">
|
|
<Border.Background>
|
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<GradientStop Color="#FFF6F8F9" Offset="0.02"/>
|
|
<GradientStop Color="#FFB8B8B8" Offset="0.996"/>
|
|
</LinearGradientBrush>
|
|
</Border.Background>
|
|
<Grid MinWidth="150">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
<ContentPresenter Content="{TemplateBinding BusyContent}" ContentTemplate="{TemplateBinding BusyContentTemplate}" Margin="8"/>
|
|
<ProgressBar Grid.Row="1" Style="{TemplateBinding ProgressBarStyle}"/>
|
|
</Grid>
|
|
</Border>
|
|
</Border>
|
|
</Grid>
|
|
</ContentPresenter.Content>
|
|
</ContentPresenter>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
|
|
<!-- =============================================================================== -->
|
|
<!-- MessageBox -->
|
|
<!-- =============================================================================== -->
|
|
|
|
<ControlTemplate x:Key="MessageBoxDragWidgetTemplate" TargetType="{x:Type Thumb}">
|
|
<Border Background="Transparent">
|
|
</Border>
|
|
</ControlTemplate>
|
|
|
|
<Style TargetType="{x:Type local:MessageBox}">
|
|
<Setter Property="Background" Value="#FFFFFFFF"/>
|
|
<Setter Property="BorderBrush" Value="{StaticResource WindowDarkBrush}" />
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
<Setter Property="CaptionForeground" Value="#FF000000" />
|
|
<Setter Property="CloseButtonStyle" Value="{StaticResource WindowCloseButtonStyle}" />
|
|
<Setter Property="Focusable" Value="False" />
|
|
<Setter Property="HorizontalAlignment" Value="Left" />
|
|
<Setter Property="HorizontalContentAlignment" Value="Left" />
|
|
<Setter Property="IsEnabled" Value="true" />
|
|
<Setter Property="MinWidth" Value="350" />
|
|
<Setter Property="MinHeight" Value="50" />
|
|
<Setter Property="MaxHeight" Value="250" />
|
|
<Setter Property="VerticalAlignment" Value="Top" />
|
|
<Setter Property="VerticalContentAlignment" Value="Top" />
|
|
<Setter Property="WindowBorderBrush" Value="{StaticResource WindowDarkBrush}" />
|
|
<Setter Property="WindowBackground" Value="{StaticResource WindowBackgroundBrush}" />
|
|
<Setter Property="WindowOpacity" Value="1.0" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type local:MessageBox}">
|
|
<Grid x:Name="Root">
|
|
<VisualStateManager.VisualStateGroups>
|
|
<VisualStateGroup x:Name="group1">
|
|
<VisualState x:Name="OK">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="OkGrid" Storyboard.TargetProperty="Visibility">
|
|
<DiscreteObjectKeyFrame KeyTime="0">
|
|
<DiscreteObjectKeyFrame.Value>
|
|
<Visibility>Visible</Visibility>
|
|
</DiscreteObjectKeyFrame.Value>
|
|
</DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
<VisualState x:Name="OKCancel">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="OkCancelGrid" Storyboard.TargetProperty="Visibility">
|
|
<DiscreteObjectKeyFrame KeyTime="0">
|
|
<DiscreteObjectKeyFrame.Value>
|
|
<Visibility>Visible</Visibility>
|
|
</DiscreteObjectKeyFrame.Value>
|
|
</DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
<VisualState x:Name="YesNo">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="YesNoGrid" Storyboard.TargetProperty="Visibility">
|
|
<DiscreteObjectKeyFrame KeyTime="0">
|
|
<DiscreteObjectKeyFrame.Value>
|
|
<Visibility>Visible</Visibility>
|
|
</DiscreteObjectKeyFrame.Value>
|
|
</DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
|
|
<VisualState x:Name="YesNoCancel">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="YesNoCancelGrid" Storyboard.TargetProperty="Visibility">
|
|
<DiscreteObjectKeyFrame KeyTime="0">
|
|
<DiscreteObjectKeyFrame.Value>
|
|
<Visibility>Visible</Visibility>
|
|
</DiscreteObjectKeyFrame.Value>
|
|
</DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateManager.VisualStateGroups>
|
|
|
|
<!-- Borders -->
|
|
<Grid x:Name="MessageBoxWindowGrid">
|
|
<Border BorderBrush="{TemplateBinding WindowBorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="5,5,0,0" Opacity="{TemplateBinding WindowOpacity}"/>
|
|
<Grid Margin="0" Background="{x:Null}">
|
|
<Border x:Name="MessageBoxWindow" Margin="1,1,1,1" Background="{TemplateBinding WindowBackground}" CornerRadius="4,4,0,0" Opacity="{TemplateBinding WindowOpacity}"/>
|
|
<Border BorderBrush="White" BorderThickness="1" CornerRadius="4,4,0,0" Margin="1" Opacity="0.7"/>
|
|
</Grid>
|
|
</Grid>
|
|
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" MinHeight="26"/>
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- Content Border -->
|
|
<Grid Margin="6,0,6,6" x:Name="ContentGrid" Grid.Row="1">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<Border BorderBrush="#FFFFFFFF" BorderThickness="1" CornerRadius="1"/>
|
|
<Border Margin="1" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0.1" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}">
|
|
|
|
<Grid MinWidth="350">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid Margin="24,16,24,22">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<!-- Message Image -->
|
|
<Image x:Name="MessageBoxImage" VerticalAlignment="Top" SnapsToDevicePixels="True" Stretch="None" Margin="-6,-1,10,-4" Source="{TemplateBinding ImageSource}"></Image>
|
|
|
|
<!-- Message Text -->
|
|
<ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Auto">
|
|
<TextBlock x:Name="MessageText" TextWrapping="Wrap" VerticalAlignment="Center" MaxWidth="450"
|
|
Text="{TemplateBinding Text}"
|
|
FontFamily="{TemplateBinding FontFamily}"
|
|
FontSize="{TemplateBinding FontSize}"
|
|
FontStyle="{TemplateBinding FontStyle}"
|
|
FontWeight="{TemplateBinding FontWeight}"
|
|
Foreground="{TemplateBinding Foreground}"/>
|
|
</ScrollViewer>
|
|
|
|
</Grid>
|
|
|
|
<!-- Buttons -->
|
|
<Grid Grid.Row="1" HorizontalAlignment="Right" Margin="12,0,12,12">
|
|
<Grid x:Name="OkGrid" Visibility="Collapsed">
|
|
<Button x:Name="PART_OkButton" MinWidth="65" Margin="6,0,0,0" IsDefault="True">OK</Button>
|
|
</Grid>
|
|
<Grid x:Name="OkCancelGrid" Visibility="Collapsed">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button x:Name="PART_OkButton1" MinWidth="65" Margin="6,0,0,0" IsDefault="True">OK</Button>
|
|
<Button Grid.Column="1" x:Name="PART_CancelButton" MinWidth="65" Margin="6,0,0,0">Cancel</Button>
|
|
</Grid>
|
|
<Grid x:Name="YesNoGrid" Visibility="Collapsed">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button x:Name="PART_YesButton" MinWidth="65" Margin="6,0,0,0" IsDefault="True">Yes</Button>
|
|
<Button Grid.Column="1" x:Name="PART_NoButton" MinWidth="65" Margin="6,0,0,0">No</Button>
|
|
</Grid>
|
|
<Grid x:Name="YesNoCancelGrid" Visibility="Collapsed">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Button x:Name="PART_YesButton1" MinWidth="65" Margin="6,0,0,0" IsDefault="True">Yes</Button>
|
|
<Button Grid.Column="1" x:Name="PART_NoButton1" MinWidth="65" Margin="6,0,0,0">No</Button>
|
|
<Button Grid.Column="2" x:Name="PART_CancelButton1" MinWidth="65" Margin="6,0,0,0">Cancel</Button>
|
|
</Grid>
|
|
</Grid>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
|
|
<!-- Header -->
|
|
<Border x:Name="HeaderArea" Background="Transparent" Grid.Column="1" CornerRadius="5,5,0,0" Margin="1,1,1,0">
|
|
<Grid>
|
|
<Grid x:Name="CaptionHeader" Margin="1,1,105,0" VerticalAlignment="Center">
|
|
<!-- Caption -->
|
|
<ContentControl x:Name="Caption" Margin="5,0,0,0" IsTabStop="False" HorizontalAlignment="Stretch"
|
|
Content="{TemplateBinding Caption}"
|
|
Foreground="{TemplateBinding CaptionForeground}"/>
|
|
|
|
</Grid>
|
|
<Thumb x:Name="PART_DragWidget" Template="{StaticResource MessageBoxDragWidgetTemplate}" IsTabStop="False" />
|
|
</Grid>
|
|
</Border>
|
|
|
|
</Grid>
|
|
|
|
<Border x:Name="Resize" BorderThickness="7" BorderBrush="Transparent" />
|
|
|
|
<!-- Close Button -->
|
|
<Border BorderBrush="#A5FFFFFF" BorderThickness="1,0,1,1" CornerRadius="0,0,3,3" VerticalAlignment="Top" Margin="0,1,7,0" HorizontalAlignment="Right">
|
|
<Button x:Name="PART_CloseButton" Style="{TemplateBinding CloseButtonStyle}" Height="17" Width="43" IsTabStop="False">
|
|
<Path Height="10" HorizontalAlignment="Center" VerticalAlignment="Center" Width="12" Fill="#E4FFFFFF" Stretch="Fill" Stroke="#FF535666"
|
|
Data="M0.5,0.5 L4.5178828,0.5 L6.0620003,3.125 L7.4936447,0.5 L11.5,0.5 L11.5,1.5476431 L8.7425003,6.1201854 L11.5,10.359666 L11.5,11.5 L7.4941902,11.5 L6.0620003,8.8740005 L4.5172949,11.5 L0.5,11.5 L0.5,10.43379 L3.3059995,6.1201582 L0.5,1.4676378 L0.5,0.5 z"/>
|
|
</Button>
|
|
</Border>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
|
|
<!-- =============================================================================== -->
|
|
<!-- ChildWindow -->
|
|
<!-- =============================================================================== -->
|
|
|
|
<SolidColorBrush x:Key="ChildWindowMainBrushColor" Color="#FF3C688D"/>
|
|
<LinearGradientBrush x:Key="BorderBrush" EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#7FFFFFFF" Offset="0.05"/>
|
|
<GradientStop Color="#B2FFFFFF" Offset="0.07"/>
|
|
<GradientStop Color="#00FFFFFF" Offset="1"/>
|
|
</LinearGradientBrush>
|
|
|
|
<Style TargetType="{x:Type local:ChildWindow}">
|
|
<Setter Property="Background" Value="#FFFFFFFF"/>
|
|
<Setter Property="BorderBrush" Value="{StaticResource WindowDarkBrush}" />
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
<Setter Property="CaptionForeground" Value="#FF000000" />
|
|
<Setter Property="CloseButtonStyle" Value="{StaticResource WindowCloseButtonStyle}" />
|
|
<Setter Property="HorizontalAlignment" Value="Left" />
|
|
<Setter Property="HorizontalContentAlignment" Value="Left" />
|
|
<Setter Property="IsTabStop" Value="False" />
|
|
<Setter Property="VerticalAlignment" Value="Top" />
|
|
<Setter Property="VerticalContentAlignment" Value="Top" />
|
|
<Setter Property="WindowBorderBrush" Value="{StaticResource WindowDarkBrush}" />
|
|
<Setter Property="WindowBackground" Value="{StaticResource WindowBackgroundBrush}" />
|
|
<Setter Property="WindowOpacity" Value="1.0" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type local:ChildWindow}">
|
|
<Grid x:Name="Root">
|
|
<Grid.Resources>
|
|
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
|
|
<Style x:Key="FocusVisualStyle" TargetType="Control">
|
|
<Setter Property="BorderBrush" Value="Black"/>
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="Margin" Value="-1"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate>
|
|
<Rectangle Stroke="{TemplateBinding BorderBrush}" Fill="{TemplateBinding Background}" Margin="{TemplateBinding Margin}" StrokeDashArray="4 3" StrokeThickness="0.5">
|
|
<Rectangle.RenderTransform>
|
|
<TranslateTransform X="{Binding Left}" Y="{Binding Top}"/>
|
|
</Rectangle.RenderTransform>
|
|
</Rectangle>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</Grid.Resources>
|
|
|
|
<!--VisualStateManager-->
|
|
<VisualStateManager.VisualStateGroups>
|
|
<VisualStateGroup x:Name="WindowStatesGroup">
|
|
<VisualState x:Name="Closed">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="Root" Storyboard.TargetProperty="Visibility" Duration="0">
|
|
<DiscreteObjectKeyFrame KeyTime="0">
|
|
<DiscreteObjectKeyFrame.Value>
|
|
<Visibility>Collapsed</Visibility>
|
|
</DiscreteObjectKeyFrame.Value>
|
|
</DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
<VisualState x:Name="Open">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="Root" Storyboard.TargetProperty="Visibility" Duration="0">
|
|
<DiscreteObjectKeyFrame KeyTime="0">
|
|
<DiscreteObjectKeyFrame.Value>
|
|
<Visibility>Visible</Visibility>
|
|
</DiscreteObjectKeyFrame.Value>
|
|
</DiscreteObjectKeyFrame>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateManager.VisualStateGroups>
|
|
|
|
<Grid x:Name="PART_WindowRoot" HorizontalAlignment="Left" VerticalAlignment="Top" MinWidth="{TemplateBinding MinWidth}" MinHeight="{TemplateBinding MinHeight}" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" >
|
|
<Grid.RenderTransform>
|
|
<TransformGroup>
|
|
<ScaleTransform />
|
|
<SkewTransform />
|
|
<RotateTransform />
|
|
<TranslateTransform />
|
|
</TransformGroup>
|
|
</Grid.RenderTransform>
|
|
|
|
<!-- Borders -->
|
|
<Grid x:Name="WindowGrid">
|
|
<Border BorderBrush="{TemplateBinding WindowBorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="5,5,0,0" Opacity="{TemplateBinding WindowOpacity}"/>
|
|
<Grid Margin="0" Background="{x:Null}">
|
|
<Border x:Name="WindowBorder" Margin="1,1,1,1" Background="{TemplateBinding WindowBackground}" CornerRadius="4,4,0,0" Opacity="{TemplateBinding WindowOpacity}"/>
|
|
<Border BorderBrush="White" BorderThickness="1" CornerRadius="4,4,0,0" Margin="1" Opacity="0.7"/>
|
|
</Grid>
|
|
</Grid>
|
|
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" MinHeight="26"/>
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- Content Border -->
|
|
<Grid Margin="6,0,6,6" x:Name="ContentGrid" Grid.Row="1">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<Border BorderBrush="#FFFFFFFF" BorderThickness="1" CornerRadius="1"/>
|
|
<Border Margin="1" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0.1" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}">
|
|
|
|
<ContentPresenter x:Name="Content" Content="{TemplateBinding Content}"
|
|
ContentTemplate="{TemplateBinding ContentTemplate}" />
|
|
</Border>
|
|
</Grid>
|
|
|
|
<!-- Header -->
|
|
<Border x:Name="PART_DragWidget" Background="Transparent" Grid.Column="1" CornerRadius="5,5,0,0" Margin="1,1,1,0">
|
|
<Grid>
|
|
<Grid x:Name="CaptionHeader" Margin="1,1,105,0" VerticalAlignment="Center">
|
|
<!-- Caption -->
|
|
<ContentControl x:Name="Caption" Margin="5,0,0,0" IsTabStop="False" HorizontalAlignment="Stretch"
|
|
Content="{TemplateBinding Caption}"
|
|
Foreground="{TemplateBinding CaptionForeground}"/>
|
|
|
|
</Grid>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
|
|
<!-- Buttons -->
|
|
<Border BorderBrush="#A5FFFFFF" BorderThickness="1,0,1,1" CornerRadius="0,0,3,3" VerticalAlignment="Top" Margin="0,1,7,0" HorizontalAlignment="Right">
|
|
<Button x:Name="PART_CloseButton" Style="{TemplateBinding CloseButtonStyle}" Visibility="{TemplateBinding CloseButtonVisibility}" Height="17" Width="43" IsTabStop="False">
|
|
<Path Height="10" HorizontalAlignment="Center" VerticalAlignment="Center" Width="12" Fill="#E4FFFFFF" Stretch="Fill" Stroke="#FF535666"
|
|
Data="M0.5,0.5 L4.5178828,0.5 L6.0620003,3.125 L7.4936447,0.5 L11.5,0.5 L11.5,1.5476431 L8.7425003,6.1201854 L11.5,10.359666 L11.5,11.5 L7.4941902,11.5 L6.0620003,8.8740005 L4.5172949,11.5 L0.5,11.5 L0.5,10.43379 L3.3059995,6.1201582 L0.5,1.4676378 L0.5,0.5 z"/>
|
|
</Button>
|
|
</Border>
|
|
</Grid>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- =============================================================================== -->
|
|
<!-- ColorPicker -->
|
|
<!-- =============================================================================== -->
|
|
|
|
<coreConverters:ColorToSolidColorBrushConverter x:Key="ColorToSolidColorBrushConverter" />
|
|
|
|
<LinearGradientBrush x:Key="ColorPickerDarkBorderBrush" EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#FFA3AEB9" Offset="0"/>
|
|
<GradientStop Color="#FF8399A9" Offset="0.375"/>
|
|
<GradientStop Color="#FF718597" Offset="0.375"/>
|
|
<GradientStop Color="#FF617584" Offset="1"/>
|
|
</LinearGradientBrush>
|
|
|
|
<LinearGradientBrush x:Key="PopupBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
|
|
<LinearGradientBrush.GradientStops>
|
|
<GradientStopCollection>
|
|
<GradientStop Offset="0" Color="#FFffffff"/>
|
|
<GradientStop Offset="1" Color="#FFE8EBED"/>
|
|
</GradientStopCollection>
|
|
</LinearGradientBrush.GradientStops>
|
|
</LinearGradientBrush>
|
|
|
|
<DrawingBrush x:Key="CheckerBrush" Viewport="0,0,10,10" ViewportUnits="Absolute" TileMode="Tile">
|
|
<DrawingBrush.Drawing>
|
|
<DrawingGroup>
|
|
<GeometryDrawing Brush="White">
|
|
<GeometryDrawing.Geometry>
|
|
<RectangleGeometry Rect="0,0 100,100" />
|
|
</GeometryDrawing.Geometry>
|
|
</GeometryDrawing>
|
|
<GeometryDrawing Brush="LightGray">
|
|
<GeometryDrawing.Geometry>
|
|
<GeometryGroup>
|
|
<RectangleGeometry Rect="0,0 50,50" />
|
|
<RectangleGeometry Rect="50,50 50,50" />
|
|
</GeometryGroup>
|
|
</GeometryDrawing.Geometry>
|
|
</GeometryDrawing>
|
|
</DrawingGroup>
|
|
</DrawingBrush.Drawing>
|
|
</DrawingBrush>
|
|
|
|
<Style x:Key="ColorPaletteLisBoxStyle" TargetType="{x:Type ListBoxItem}">
|
|
<Setter Property="ToolTip" Value="{Binding Name}" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ListBoxItem}">
|
|
<Grid ToolTip="{Binding Name}">
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
|
|
<Border BorderThickness="1" Background="Transparent" BorderBrush="Transparent" x:Name="_outerBorder" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
|
<Border Background="Transparent" BorderThickness="1" BorderBrush="Transparent" x:Name="_innerBorder" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="_outerBorder" Property="BorderBrush" Value="#FFFF0000" />
|
|
<Setter TargetName="_innerBorder" Property="BorderBrush" Value="#FFFFFF00" />
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter TargetName="_outerBorder" Property="BorderBrush" Value="#FFFF0000" />
|
|
<Setter TargetName="_innerBorder" Property="BorderBrush" Value="#FFFFFF00" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<DataTemplate x:Key="ColorItemTemplate">
|
|
<Grid>
|
|
<Border BorderBrush="#FFC9CACA" BorderThickness="1" Margin="2,2,2,2" >
|
|
<Rectangle Width="14" Height="14">
|
|
<Rectangle.Style>
|
|
<Style TargetType="Rectangle">
|
|
<Setter Property="Fill" Value="{Binding Color, Converter={StaticResource ColorToSolidColorBrushConverter}}" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Name}" Value="Transparent">
|
|
<Setter Property="Fill" Value="{StaticResource CheckerBrush}" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Rectangle.Style>
|
|
</Rectangle>
|
|
</Border>
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<Style x:Key="ColorPickerToggleButtonStyle" TargetType="ToggleButton">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="ToggleButton">
|
|
<Border Background="{TemplateBinding Background}" CornerRadius="2" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<ContentPresenter HorizontalAlignment="Stretch" VerticalAlignment="Stretch" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
|
|
|
<Grid x:Name="arrowGlyph" IsHitTestVisible="False" Grid.Column="1" Margin="5">
|
|
<Path Width="7" Height="4" Data="M 0,1 C0,1 0,0 0,0 0,0 3,0 3,0 3,0 3,1 3,1 3,1 4,1 4,1 4,1 4,0 4,0 4,0 7,0 7,0 7,0 7,1 7,1 7,1 6,1 6,1 6,1 6,2 6,2 6,2 5,2 5,2 5,2 5,3 5,3 5,3 4,3 4,3 4,3 4,4 4,4 4,4 3,4 3,4 3,4 3,3 3,3 3,3 2,3 2,3 2,3 2,2 2,2 2,2 1,2 1,2 1,2 1,1 1,1 1,1 0,1 0,1 z" Fill="#FF000000"/>
|
|
</Grid>
|
|
</Grid>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsChecked" Value="true">
|
|
<Setter Property="BorderBrush" Value="{StaticResource ButtonHoverBorder}"/>
|
|
<Setter Property="Background" Value="{StaticResource ButtonChecked}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="true">
|
|
<Setter Property="BorderBrush" Value="{StaticResource ButtonHoverBorder}"/>
|
|
<Setter Property="Background" Value="{StaticResource ButtonHover}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsKeyboardFocused" Value="true">
|
|
<Setter Property="BorderBrush" Value="{StaticResource ButtonHoverBorder}"/>
|
|
<Setter Property="Background" Value="{StaticResource ButtonHover}"/>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsMouseOver" Value="true"/>
|
|
<Condition Property="IsChecked" Value="true"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="BorderBrush" Value="{StaticResource ButtonPressedBorder}"/>
|
|
<Setter Property="Background" Value="{StaticResource ButtonPressed}"/>
|
|
</MultiTrigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsKeyboardFocused" Value="true"/>
|
|
<Condition Property="IsChecked" Value="true"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="BorderBrush" Value="{StaticResource ButtonPressedBorder}"/>
|
|
<Setter Property="Background" Value="{StaticResource ButtonPressed}"/>
|
|
</MultiTrigger>
|
|
<Trigger Property="IsPressed" Value="true">
|
|
<Setter Property="BorderBrush" Value="{StaticResource ButtonPressedBorder}"/>
|
|
<Setter Property="Background" Value="{StaticResource ButtonPressed}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style x:Key="ColorDisplayStyle" TargetType="Border">
|
|
<Setter Property="Background" Value="{Binding SelectedColor, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource ColorToSolidColorBrushConverter}}" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding SelectedColor, RelativeSource={RelativeSource TemplatedParent}}" Value="Transparent">
|
|
<Setter Property="Background" Value="{StaticResource CheckerBrush}" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type local:ColorPicker}">
|
|
<Setter Property="BorderBrush" Value="{StaticResource ColorPickerDarkBorderBrush}" />
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
<Setter Property="ButtonStyle" Value="{StaticResource ColorPickerToggleButtonStyle}" />
|
|
<Setter Property="Focusable" Value="False" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type local:ColorPicker}">
|
|
<Grid>
|
|
<ToggleButton x:Name="PART_ColorPickerToggleButton" Style="{TemplateBinding ButtonStyle}" MinHeight="22" ClickMode="Press" IsChecked="{Binding IsOpen, RelativeSource={RelativeSource TemplatedParent}}" >
|
|
<Grid>
|
|
<Border x:Name="ColorOnly" Style="{StaticResource ColorDisplayStyle}" />
|
|
|
|
<Border x:Name="ColorAndName" Background="White" Visibility="Hidden">
|
|
<StackPanel Orientation="Horizontal">
|
|
<Border HorizontalAlignment="Left" Width="20" Margin="2,1,4,1" Style="{StaticResource ColorDisplayStyle}" BorderThickness="1" BorderBrush="#FFC9CACA" />
|
|
<TextBlock Text="{Binding SelectedColorText, RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="Center" />
|
|
</StackPanel>
|
|
</Border>
|
|
</Grid>
|
|
</ToggleButton>
|
|
|
|
<Popup x:Name="PART_ColorPickerPalettePopup" VerticalAlignment="Bottom" IsOpen="{Binding ElementName=PART_ColorPickerToggleButton, Path=IsChecked}" >
|
|
<Border BorderThickness="1" Background="{StaticResource PopupBackgroundBrush}" BorderBrush="{StaticResource ColorPickerDarkBorderBrush}" Padding="3">
|
|
<Grid Margin="4">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- Available Colors -->
|
|
<Grid Grid.Row="1">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
<TextBlock Text="Available Colors" Background="AliceBlue" Padding="2" Margin="0,0,0,1" />
|
|
<ListBox x:Name="PART_AvailableColors" Grid.Row="1" Background="Transparent" BorderThickness="0" SelectionMode="Single"
|
|
ItemsSource="{Binding AvailableColors, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ItemTemplate="{StaticResource ColorItemTemplate}"
|
|
ItemContainerStyle="{StaticResource ColorPaletteLisBoxStyle}">
|
|
<ListBox.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<WrapPanel Width="200" />
|
|
</ItemsPanelTemplate>
|
|
</ListBox.ItemsPanel>
|
|
</ListBox>
|
|
</Grid>
|
|
</Grid>
|
|
|
|
<!-- Standard Colors-->
|
|
<Grid Grid.Row="2">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<TextBlock Text="Standard Colors" Background="AliceBlue" Padding="2" Margin="0,1,0,1"/>
|
|
<ListBox x:Name="PART_StandardColors" Grid.Row="1" SelectionMode="Single" Background="Transparent" BorderThickness="0"
|
|
ItemsSource="{Binding StandardColors, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ItemTemplate="{StaticResource ColorItemTemplate}"
|
|
ItemContainerStyle="{StaticResource ColorPaletteLisBoxStyle}">
|
|
<ListBox.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<WrapPanel Width="200" />
|
|
</ItemsPanelTemplate>
|
|
</ListBox.ItemsPanel>
|
|
</ListBox>
|
|
</Grid>
|
|
</Grid>
|
|
|
|
<!-- Recent Colors-->
|
|
<Grid Grid.Row="3" Margin="0,1,0,1">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<TextBlock Text="Recent Colors" Background="AliceBlue" Padding="2" Margin="0,1,0,1"/>
|
|
<ListBox x:Name="PART_RecentColors" Grid.Row="1" SelectionMode="Single" Background="Transparent" BorderThickness="0"
|
|
ItemsSource="{Binding RecentColors, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ItemTemplate="{StaticResource ColorItemTemplate}"
|
|
ItemContainerStyle="{StaticResource ColorPaletteLisBoxStyle}">
|
|
<ListBox.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<WrapPanel Width="200" />
|
|
</ItemsPanelTemplate>
|
|
</ListBox.ItemsPanel>
|
|
</ListBox>
|
|
</Grid>
|
|
</Grid>
|
|
|
|
</Grid>
|
|
</Border>
|
|
</Popup>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="DisplayColorAndName" Value="True">
|
|
<Setter TargetName="ColorOnly" Property="Visibility" Value="Collapsed" />
|
|
<Setter TargetName="ColorAndName" Property="Visibility" Value="Visible" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- =============================================================================== -->
|
|
<!-- ButtonSpinner -->
|
|
<!-- =============================================================================== -->
|
|
|
|
<SolidColorBrush x:Key="SpinButtonGlyphNormalForegroundFillKey" Color="#FF000000" />
|
|
|
|
<DataTemplate x:Key="IncreaseGlyph">
|
|
<Path Width="7" Height="4" Data="M 0,3 C0,3 0,4 0,4 0,4 3,4 3,4 3,4 3,3 3,3 3,3 4,3 4,3 4,3 4,4 4,4 4,4 7,4 7,4 7,4 7,3 7,3 7,3 6,3 6,3 6,3 6,2 6,2 6,2 5,2 5,2 5,2 5,1 5,1 5,1 4,1 4,1 4,1 4,0 4,0 4,0 3,0 3,0 3,0 3,1 3,1 3,1 2,1 2,1 2,1 2,2 2,2 2,2 1,2 1,2 1,2 1,3 1,3 1,3 0,3 0,3 z" Fill="{StaticResource SpinButtonGlyphNormalForegroundFillKey}"/>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="DecreaseGlyph">
|
|
<Path Width="7" Height="4" Data="M 0,1 C0,1 0,0 0,0 0,0 3,0 3,0 3,0 3,1 3,1 3,1 4,1 4,1 4,1 4,0 4,0 4,0 7,0 7,0 7,0 7,1 7,1 7,1 6,1 6,1 6,1 6,2 6,2 6,2 5,2 5,2 5,2 5,3 5,3 5,3 4,3 4,3 4,3 4,4 4,4 4,4 3,4 3,4 3,4 3,3 3,3 3,3 2,3 2,3 2,3 2,2 2,2 2,2 1,2 1,2 1,2 1,1 1,1 1,1 0,1 0,1 z" Fill="{StaticResource SpinButtonGlyphNormalForegroundFillKey}"/>
|
|
</DataTemplate>
|
|
|
|
<SolidColorBrush x:Key="SpinButtonNormalOuterBorderFillKey" Color="#FFABADB3"/>
|
|
<LinearGradientBrush x:Key="SpinButtonNormalInnerBorderFillKey" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<LinearGradientBrush.GradientStops>
|
|
<GradientStopCollection>
|
|
<GradientStop Offset="0" Color="#FFfcfcfc"/>
|
|
<GradientStop Offset="0.69" Color="#FFf9f9f9"/>
|
|
<GradientStop Offset="0.69" Color="#FFf3f3f3"/>
|
|
<GradientStop Offset="1" Color="#FFf3f3f3"/>
|
|
</GradientStopCollection>
|
|
</LinearGradientBrush.GradientStops>
|
|
</LinearGradientBrush>
|
|
<LinearGradientBrush x:Key="SpinButtonNormalCenterFillKey" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<LinearGradientBrush.GradientStops>
|
|
<GradientStopCollection>
|
|
<GradientStop Offset="0" Color="#FFf2f2f2"/>
|
|
<GradientStop Offset="0.69" Color="#FFe8e8e8"/>
|
|
<GradientStop Offset="0.69" Color="#FFd1d1d1"/>
|
|
<GradientStop Offset="1" Color="#FFd1d1d1"/>
|
|
</GradientStopCollection>
|
|
</LinearGradientBrush.GradientStops>
|
|
</LinearGradientBrush>
|
|
|
|
<SolidColorBrush x:Key="SpinButtonHottrackOuterBorderFillKey" Color="#FF3C7FB1"/>
|
|
<LinearGradientBrush x:Key="SpinButtonHottrackInnerBorderFillKey" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<LinearGradientBrush.GradientStops>
|
|
<GradientStopCollection>
|
|
<GradientStop Color="#FFfafdfe" Offset="0" />
|
|
<GradientStop Color="#FFf5fbfe" Offset="0.5" />
|
|
<GradientStop Color="#FFeff9fe" Offset="0.5009999871253967" />
|
|
<GradientStop Color="#FFe8f5fc" Offset="1" />
|
|
</GradientStopCollection>
|
|
</LinearGradientBrush.GradientStops>
|
|
</LinearGradientBrush>
|
|
<LinearGradientBrush x:Key="SpinButtonHottrackCenterFillKey" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<LinearGradientBrush.GradientStops>
|
|
<GradientStopCollection>
|
|
<GradientStop Color="#FFeaf6fd" Offset="0" />
|
|
<GradientStop Color="#FFd9f0fc" Offset="0.5" />
|
|
<GradientStop Color="#FFbee6fd" Offset="0.5009999871253967" />
|
|
<GradientStop Color="#FFa7d9f5" Offset="1" />
|
|
</GradientStopCollection>
|
|
</LinearGradientBrush.GradientStops>
|
|
</LinearGradientBrush>
|
|
<SolidColorBrush x:Key="SpinButtonPressedOuterBorderFillKey" Color="#FF2C628B"/>
|
|
<LinearGradientBrush x:Key="SpinButtonPressedInnerBorderFillKey" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<LinearGradientBrush.GradientStops>
|
|
<GradientStopCollection>
|
|
<GradientStop Color="#FF9eb0ba" Offset="0" />
|
|
<GradientStop Color="#FF9abacb" Offset="0.5" />
|
|
<GradientStop Color="#FF78aac5" Offset="0.5008999705314636" />
|
|
<GradientStop Color="#FF5a96b8" Offset="0.8999999761581421" />
|
|
<GradientStop Color="#FF68b2da" Offset="1" />
|
|
</GradientStopCollection>
|
|
</LinearGradientBrush.GradientStops>
|
|
</LinearGradientBrush>
|
|
<LinearGradientBrush x:Key="SpinButtonPressedCenterFillKey" StartPoint="0.5,0" EndPoint="0.5,1">
|
|
<LinearGradientBrush.GradientStops>
|
|
<GradientStopCollection>
|
|
<GradientStop Color="#FFe5f4fc" Offset="0" />
|
|
<GradientStop Color="#FFc4e5f6" Offset="0.5" />
|
|
<GradientStop Color="#FF98d1ef" Offset="0.5009999871253967" />
|
|
<GradientStop Color="#FF68b3db" Offset="1" />
|
|
</GradientStopCollection>
|
|
</LinearGradientBrush.GradientStops>
|
|
</LinearGradientBrush>
|
|
|
|
<Style x:Key="SpinButtonStyle" TargetType="{x:Type RepeatButton}">
|
|
<Setter Property="Background" Value="{StaticResource SpinButtonNormalCenterFillKey}"/>
|
|
<Setter Property="BorderBrush" Value="{StaticResource SpinButtonNormalOuterBorderFillKey}"/>
|
|
<Setter Property="Foreground" Value="{StaticResource SpinButtonGlyphNormalForegroundFillKey}"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="Padding" Value="3,1"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type RepeatButton}">
|
|
<Border x:Name="Bd" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" CornerRadius="0">
|
|
<Grid>
|
|
<Border x:Name="innerBd" BorderBrush="{StaticResource SpinButtonNormalInnerBorderFillKey}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0"/>
|
|
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="{TemplateBinding Padding}"/>
|
|
</Grid>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="BorderBrush" TargetName="innerBd" Value="{StaticResource SpinButtonHottrackInnerBorderFillKey}"/>
|
|
<Setter Property="Background" TargetName="Bd" Value="{StaticResource SpinButtonHottrackCenterFillKey}"/>
|
|
<Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource SpinButtonHottrackOuterBorderFillKey}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsPressed" Value="True">
|
|
<Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource SpinButtonPressedOuterBorderFillKey}"/>
|
|
<Setter Property="Background" TargetName="Bd" Value="{StaticResource SpinButtonPressedCenterFillKey}"/>
|
|
<Setter Property="BorderBrush" TargetName="innerBd" Value="{StaticResource SpinButtonPressedInnerBorderFillKey}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="False"/>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type local:ButtonSpinner}">
|
|
<Setter Property="Focusable" Value="False" />
|
|
<Setter Property="IsTabStop" Value="True" />
|
|
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
|
<Setter Property="BorderBrush">
|
|
<Setter.Value>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="#FFA3AEB9" Offset="0" />
|
|
<GradientStop Color="#FF8399A9" Offset="0.375" />
|
|
<GradientStop Color="#FF718597" Offset="0.375" />
|
|
<GradientStop Color="#FF617584" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Background" Value="Transparent" />
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
<Setter Property="VerticalContentAlignment" Value="Center" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type local:ButtonSpinner}">
|
|
<Grid>
|
|
<Border x:Name="ElementContainer" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
|
|
<DockPanel Focusable="False">
|
|
<Grid DockPanel.Dock="Right">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="1" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<RepeatButton x:Name="IncreaseButton" SnapsToDevicePixels="True" Grid.Row="0" Style="{StaticResource SpinButtonStyle}" ContentTemplate="{StaticResource IncreaseGlyph}" ClickMode="Press" IsTabStop="{Binding IsTabStop, RelativeSource={RelativeSource TemplatedParent}}" />
|
|
<RepeatButton x:Name="DecreaseButton" SnapsToDevicePixels="True" Grid.Row="2" Style="{StaticResource SpinButtonStyle}" ContentTemplate="{StaticResource DecreaseGlyph}" ClickMode="Press" IsTabStop="{Binding IsTabStop, RelativeSource={RelativeSource TemplatedParent}}" />
|
|
</Grid>
|
|
<ContentControl x:Name="presentationSite" Focusable="False"
|
|
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
|
|
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
|
|
Content="{TemplateBinding Content}" />
|
|
</DockPanel>
|
|
</Border>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- =============================================================================== -->
|
|
<!-- NumericUpDown -->
|
|
<!-- =============================================================================== -->
|
|
|
|
<Style TargetType="{x:Type local:NumericUpDown}">
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}"/>
|
|
<Setter Property="Focusable" Value="False" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type local:NumericUpDown}">
|
|
<local:ButtonSpinner x:Name="Spinner" IsTabStop="False">
|
|
<TextBox x:Name="TextBox" BorderThickness="0"
|
|
Background="{TemplateBinding Background}"
|
|
FontFamily="{TemplateBinding FontFamily}"
|
|
FontSize="{TemplateBinding FontSize}"
|
|
FontStretch="{TemplateBinding FontStretch}"
|
|
FontStyle="{TemplateBinding FontStyle}"
|
|
FontWeight="{TemplateBinding FontWeight}"
|
|
Foreground="{TemplateBinding Foreground}"
|
|
IsReadOnly="{Binding IsEditable, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolConverter}}"
|
|
MinWidth="20" AcceptsReturn="False"
|
|
TextAlignment="Right" TextWrapping="NoWrap"
|
|
Text="{Binding Text, RelativeSource={RelativeSource TemplatedParent}}" />
|
|
</local:ButtonSpinner>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- =============================================================================== -->
|
|
<!-- DateTimeUpDown -->
|
|
<!-- =============================================================================== -->
|
|
|
|
<Style TargetType="{x:Type local:DateTimeUpDown}">
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}"/>
|
|
<Setter Property="Focusable" Value="False" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type local:DateTimeUpDown}">
|
|
<local:ButtonSpinner x:Name="Spinner" IsTabStop="False">
|
|
<TextBox x:Name="TextBox" BorderThickness="0"
|
|
Background="{TemplateBinding Background}"
|
|
FontFamily="{TemplateBinding FontFamily}"
|
|
FontSize="{TemplateBinding FontSize}"
|
|
FontStretch="{TemplateBinding FontStretch}"
|
|
FontStyle="{TemplateBinding FontStyle}"
|
|
FontWeight="{TemplateBinding FontWeight}"
|
|
Foreground="{TemplateBinding Foreground}"
|
|
IsReadOnly="True"
|
|
MinWidth="20" AcceptsReturn="False"
|
|
TextAlignment="Right" TextWrapping="NoWrap"
|
|
Text="{Binding Text, RelativeSource={RelativeSource TemplatedParent}}" />
|
|
</local:ButtonSpinner>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- =============================================================================== -->
|
|
<!-- MaskedTextBox -->
|
|
<!-- =============================================================================== -->
|
|
|
|
<Style TargetType="{x:Type local:MaskedTextBox}">
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}"/>
|
|
<Setter Property="Focusable" Value="False" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type local:MaskedTextBox}">
|
|
<TextBox x:Name="TextBox"
|
|
Background="{TemplateBinding Background}"
|
|
FontFamily="{TemplateBinding FontFamily}"
|
|
FontSize="{TemplateBinding FontSize}"
|
|
FontStretch="{TemplateBinding FontStretch}"
|
|
FontStyle="{TemplateBinding FontStyle}"
|
|
FontWeight="{TemplateBinding FontWeight}"
|
|
Foreground="{TemplateBinding Foreground}"
|
|
IsReadOnly="{Binding IsEditable, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolConverter}}"
|
|
MinWidth="20" AcceptsReturn="False" TextWrapping="NoWrap"
|
|
Text="{Binding Text, RelativeSource={RelativeSource TemplatedParent}}" />
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- =============================================================================== -->
|
|
<!-- Magnifier -->
|
|
<!-- =============================================================================== -->
|
|
|
|
<magConverters:RadiusConverter x:Key="RadiusConverter"/>
|
|
<magConverters:BorderThicknessToStrokeThicknessConverter x:Key="BorderThicknessToStrokeThicknessConverter"/>
|
|
|
|
<Style TargetType="{x:Type local:Magnifier}">
|
|
<Setter Property="IsHitTestVisible" Value="False"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type local:Magnifier}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="{Binding Path=Radius, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource RadiusConverter}}"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="{Binding Path=Radius, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource RadiusConverter}}"/>
|
|
</Grid.RowDefinitions>
|
|
<Ellipse Width="{Binding Path=MagnifierWidth, RelativeSource={RelativeSource TemplatedParent}}" Height="{Binding Path=MagnifierHeight, RelativeSource={RelativeSource TemplatedParent}}" Fill="{TemplateBinding Background}"/>
|
|
<Ellipse Stroke="{Binding Path=BorderBrush, RelativeSource={RelativeSource TemplatedParent}}" StrokeThickness="{Binding Path=BorderThickness, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BorderThicknessToStrokeThicknessConverter}}">
|
|
<Ellipse.Fill>
|
|
<VisualBrush Viewbox="{Binding Path=ViewBox, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ViewboxUnits="Absolute"
|
|
Visual="{Binding Path=Target, RelativeSource={RelativeSource TemplatedParent}}"/>
|
|
</Ellipse.Fill>
|
|
</Ellipse>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- =============================================================================== -->
|
|
<!-- SplitButton -->
|
|
<!-- =============================================================================== -->
|
|
|
|
<Style x:Key="SplitButtonStyle" TargetType="{x:Type Button}">
|
|
<Setter Property="Background" Value="{StaticResource SpinButtonNormalCenterFillKey}"/>
|
|
<Setter Property="BorderBrush" Value="{StaticResource SpinButtonNormalOuterBorderFillKey}"/>
|
|
<Setter Property="Foreground" Value="{StaticResource SpinButtonGlyphNormalForegroundFillKey}"/>
|
|
<Setter Property="BorderThickness" Value="1, 1, 0, 1"/>
|
|
<Setter Property="Padding" Value="3,1"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type Button}">
|
|
<Border x:Name="Bd" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" CornerRadius="2,0,0,2">
|
|
<Grid>
|
|
<Border x:Name="innerBd" BorderBrush="{StaticResource SpinButtonNormalInnerBorderFillKey}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2,0,0,2"/>
|
|
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="{TemplateBinding Padding}"/>
|
|
</Grid>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="BorderBrush" TargetName="innerBd" Value="{StaticResource SpinButtonHottrackInnerBorderFillKey}"/>
|
|
<Setter Property="Background" TargetName="Bd" Value="{StaticResource SpinButtonHottrackCenterFillKey}"/>
|
|
<Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource SpinButtonHottrackOuterBorderFillKey}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsPressed" Value="True">
|
|
<Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource SpinButtonPressedOuterBorderFillKey}"/>
|
|
<Setter Property="Background" TargetName="Bd" Value="{StaticResource SpinButtonPressedCenterFillKey}"/>
|
|
<Setter Property="BorderBrush" TargetName="innerBd" Value="{StaticResource SpinButtonPressedInnerBorderFillKey}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="False"/>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style x:Key="SplitButtonDropDownStyle" TargetType="{x:Type ToggleButton}">
|
|
<Setter Property="Background" Value="{StaticResource SpinButtonNormalCenterFillKey}"/>
|
|
<Setter Property="BorderBrush" Value="{StaticResource SpinButtonNormalOuterBorderFillKey}"/>
|
|
<Setter Property="Foreground" Value="{StaticResource SpinButtonGlyphNormalForegroundFillKey}"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="Padding" Value="3,1"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ToggleButton}">
|
|
<Border x:Name="Bd" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" CornerRadius="0,2,2,0">
|
|
<Grid>
|
|
<Border x:Name="innerBd" BorderBrush="{StaticResource SpinButtonNormalInnerBorderFillKey}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0,2,2,0"/>
|
|
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="{TemplateBinding Padding}"/>
|
|
</Grid>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="BorderBrush" TargetName="innerBd" Value="{StaticResource SpinButtonHottrackInnerBorderFillKey}"/>
|
|
<Setter Property="Background" TargetName="Bd" Value="{StaticResource SpinButtonHottrackCenterFillKey}"/>
|
|
<Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource SpinButtonHottrackOuterBorderFillKey}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsPressed" Value="True">
|
|
<Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource SpinButtonPressedOuterBorderFillKey}"/>
|
|
<Setter Property="Background" TargetName="Bd" Value="{StaticResource SpinButtonPressedCenterFillKey}"/>
|
|
<Setter Property="BorderBrush" TargetName="innerBd" Value="{StaticResource SpinButtonPressedInnerBorderFillKey}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="True">
|
|
<Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource SpinButtonPressedOuterBorderFillKey}"/>
|
|
<Setter Property="Background" TargetName="Bd" Value="{StaticResource SpinButtonPressedCenterFillKey}"/>
|
|
<Setter Property="BorderBrush" TargetName="innerBd" Value="{StaticResource SpinButtonPressedInnerBorderFillKey}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="False"/>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type local:SplitButton}">
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="IsTabStop" Value="False" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type local:SplitButton}">
|
|
<Grid x:Name="MainGrid" SnapsToDevicePixels="True">
|
|
<Border x:Name="OuterBorder" Background="{TemplateBinding Background}" CornerRadius="2">
|
|
<Border x:Name="InnerBorder" Background="Transparent" CornerRadius="2">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Button x:Name="PART_HeaderButton" Style="{StaticResource SplitButtonStyle}" >
|
|
<ContentPresenter Name="Content" Margin="{TemplateBinding Padding}" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="true" />
|
|
</Button>
|
|
<ToggleButton x:Name="PART_ToggleButton" Grid.Column="1" IsTabStop="False"
|
|
Style="{StaticResource SplitButtonDropDownStyle}"
|
|
IsChecked="{Binding IsOpen, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
|
|
IsHitTestVisible="{Binding IsOpen, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolConverter}}">
|
|
<Grid x:Name="arrowGlyph" IsHitTestVisible="False">
|
|
<Path Width="7" Height="4" Data="M 0,1 C0,1 0,0 0,0 0,0 3,0 3,0 3,0 3,1 3,1 3,1 4,1 4,1 4,1 4,0 4,0 4,0 7,0 7,0 7,0 7,1 7,1 7,1 6,1 6,1 6,1 6,2 6,2 6,2 5,2 5,2 5,2 5,3 5,3 5,3 4,3 4,3 4,3 4,4 4,4 4,4 3,4 3,4 3,4 3,3 3,3 3,3 2,3 2,3 2,3 2,2 2,2 2,2 1,2 1,2 1,2 1,1 1,1 1,1 0,1 0,1 z" Fill="#FF000000"/>
|
|
</Grid>
|
|
</ToggleButton>
|
|
</Grid>
|
|
</Border>
|
|
</Border>
|
|
|
|
<Popup x:Name="PART_Popup"
|
|
HorizontalOffset="1"
|
|
VerticalOffset="-1"
|
|
AllowsTransparency="True"
|
|
StaysOpen="False"
|
|
Placement="Bottom"
|
|
Focusable="False"
|
|
IsOpen="{Binding IsChecked, ElementName=PART_ToggleButton}">
|
|
<!-- TODO: Create Popup Styles that can be reused on all popups in the toolkit-->
|
|
<Border BorderThickness="1" Background="{StaticResource PopupBackgroundBrush}" BorderBrush="{StaticResource ColorPickerDarkBorderBrush}" >
|
|
<ContentPresenter Content="{TemplateBinding DropDownContent}" />
|
|
</Border>
|
|
</Popup>
|
|
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</ResourceDictionary>
|
|
|