Mini Kabibi Habibi
<local:EditorsDemoModule x:Class="EditorsDemo.CheckEditModule"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EditorsDemo"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:col="clr-namespace:System.Collections;assembly=mscorlib"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:utils="clr-namespace:EditorsDemo.Utils"
xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase"
>
<local:EditorsDemoModule.Resources>
<Style x:Key="dimmer" TargetType="dxe:CheckEdit">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="dxe:CheckEdit">
<Grid x:Name="dimmer">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CheckStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:0.5" To="Checked">
<VisualTransition.GeneratedEasingFunction>
<BackEase EasingMode="EaseOut" Amplitude="1" />
</VisualTransition.GeneratedEasingFunction>
</VisualTransition>
<VisualTransition GeneratedDuration="0:0:0.5" To="Unchecked">
<VisualTransition.GeneratedEasingFunction>
<BackEase EasingMode="EaseOut" />
</VisualTransition.GeneratedEasingFunction>
</VisualTransition>
</VisualStateGroup.Transitions>
<VisualState x:Name="Checked">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="color_on">
<EasingDoubleKeyFrame KeyTime="0" Value="1" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)" Storyboard.TargetName="check">
<EasingDoubleKeyFrame KeyTime="0" Value="90" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)" Storyboard.TargetName="grid">
<EasingDoubleKeyFrame KeyTime="0" Value="-90" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Unchecked" />
<VisualState x:Name="Indeterminate" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border x:Name="back" CornerRadius="10">
<Border.Background>
<LinearGradientBrush EndPoint="1,1" StartPoint="0,0">
<GradientStop Color="#FFDEDFE0" Offset="0" />
<GradientStop Color="#FF8B9098" Offset="1" />
<GradientStop Color="#FFADAFB5" Offset="0.5" />
</LinearGradientBrush>
</Border.Background>
<Border CornerRadius="9" Margin="1">
<Border.Background>
<LinearGradientBrush EndPoint="1,1" StartPoint="0,0">
<GradientStop Color="White" Offset="0" />
<GradientStop Color="#FFB1B6BA" Offset="1" />
<GradientStop Color="#FFD4D7D9" Offset="0.5" />
<GradientStop Color="#FFBEC1C4" Offset="0.6" />
<GradientStop Color="#FFEAECEC" Offset="0.4" />
</LinearGradientBrush>
</Border.Background>
<Border CornerRadius="9" Margin="6">
<Border.Background>
<LinearGradientBrush EndPoint="1,1" StartPoint="0,0">
<GradientStop Color="#FFEBEBEB" Offset="0" />
<GradientStop Color="#FFBBBFC2" Offset="1" />
<GradientStop Color="#FFD8D8D9" Offset="0.5" />
</LinearGradientBrush>
</Border.Background>
<Path Stretch="Uniform" Data="F1 M 569,307L 530,440L 484,440L 484,307L 569,307 Z " Margin="0" UseLayoutRounding="False" HorizontalAlignment="Left" VerticalAlignment="Center">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#3FFFFFFF" />
<GradientStop Color="Transparent" Offset="1" />
</LinearGradientBrush>
</Path.Fill>
</Path>
</Border>
</Border>
</Border>
<Grid x:Name="center" Margin="30">
<Ellipse>
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.75,0.9" StartPoint="0.25,0.1">
<GradientStop Color="#FF999CA2" Offset="0" />
<GradientStop Color="#FFF9F9F9" Offset="1" />
<GradientStop Color="#FFCFD0D3" Offset="0.7" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Margin="1">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.75,0.9" StartPoint="0.25,0.1">
<GradientStop Color="#FF545960" Offset="0" />
<GradientStop Color="#FF9A9DA1" Offset="1" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse x:Name="color" Margin="2" Visibility="Collapsed">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.75,0.9" StartPoint="0.25,0.1">
<GradientStop Color="White" Offset="0" />
<GradientStop Color="White" Offset="1" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse x:Name="color_off" Margin="2">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.75,0.9" StartPoint="0.25,0.1">
<GradientStop Color="#FFFBDBEE" Offset="0" />
<GradientStop Color="#FFF7BADF" Offset="1" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse x:Name="color_on" Margin="2" Opacity="0">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.75,0.9" StartPoint="0.25,0.1">
<GradientStop Color="#FFEAFBDA" Offset="0" />
<GradientStop Color="#FFD7F7BA" Offset="1" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Path Stretch="Uniform" Data="F1 M 576,349L 602,396L 563,429L 523,387L 576,349 Z " HorizontalAlignment="Right" Margin="15,0,-11,-20" UseLayoutRounding="False" VerticalAlignment="Bottom" Opacity="0.75">
<Path.Fill>
<RadialGradientBrush GradientOrigin="0.17,-0.002" Center="0.398,0.319" RadiusY="0.664" RadiusX="0.664">
<GradientStop Color="#00000000" Offset="0.965" />
<GradientStop Color="#7F000000" Offset="0.52" />
<GradientStop Color="Black" />
<GradientStop Color="#0A000000" Offset="0.782" />
</RadialGradientBrush>
</Path.Fill>
</Path>
<Ellipse Margin="8">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.75,0.9" StartPoint="0.25,0.1">
<GradientStop Color="#FFCED0D2" Offset="0" />
<GradientStop Color="#FF62676E" Offset="1" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Margin="9">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.75,0.9" StartPoint="0.25,0.1">
<GradientStop Color="#FFFBFBFB" Offset="0" />
<GradientStop Color="#FFCED0D1" Offset="1" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Margin="12">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.75,0.9" StartPoint="0.25,0.1">
<GradientStop Color="#BFFFFFFF" Offset="0" />
<GradientStop Offset="1" Color="#3FFFFFFF" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Path Stretch="Uniform" Data="F1 M 575,353C 557.879,353 544,366.879 544,384C 544,396.107 550.94,406.593 561.059,411.696L 578.222,353.165C 577.163,353.056 576.088,353 575,353 Z " HorizontalAlignment="Left" Margin="9,10,0,13" UseLayoutRounding="False" VerticalAlignment="Top">
<Path.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFFFFFFF" />
<GradientStop Offset="1" Color="Transparent" />
</LinearGradientBrush>
</Path.Fill>
</Path>
</Grid>
<Grid x:Name="check" Margin="30" RenderTransformOrigin="0.5,0.5" Background="{x:Null}">
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
<TranslateTransform />
</TransformGroup>
</Grid.RenderTransform>
<Ellipse Margin="9" />
<Grid x:Name="grid" HorizontalAlignment="Left" Height="6" Margin="20,20,0,0" VerticalAlignment="Top" Width="6" RenderTransformOrigin="0.5,0.5">
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
<TranslateTransform />
</TransformGroup>
</Grid.RenderTransform>
<Ellipse HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.75,0.9" StartPoint="0.25,0.1">
<GradientStop Color="#FF82868B" Offset="0" />
<GradientStop Color="#FFE2E3E4" Offset="1" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="1">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.75,0.9" StartPoint="0.25,0.1">
<GradientStop Color="#FFB6BABE" Offset="0" />
<GradientStop Color="#FFF0F1F1" Offset="1" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
</Grid>
</Grid>
<Grid x:Name="off" HorizontalAlignment="Left" Height="13" Margin="20,20,0,0" VerticalAlignment="Top" Width="18" FlowDirection="LeftToRight">
<Path Stretch="Fill" Fill="White" Data="F1 M 676.602,232.803C 676.576,233.415 676.257,233.734 675.645,233.76L 671.717,233.76C 671.105,233.734 670.786,233.415 670.76,232.803L 670.76,222.717C 670.786,222.105 671.105,221.786 671.717,221.76L 675.645,221.76C 676.257,221.786 676.576,222.105 676.602,222.717L 676.602,232.803 Z M 674.865,232.023L 674.865,223.497L 672.497,223.497L 672.497,232.023L 674.865,232.023 Z M 683.076,223.497L 679.918,223.497L 679.918,226.813L 682.602,226.813L 682.602,228.55L 679.918,228.55L 679.918,233.76L 678.181,233.76L 678.181,221.76L 683.076,221.76L 683.076,223.497 Z M 688.76,223.497L 685.602,223.497L 685.602,226.813L 688.286,226.813L 688.286,228.55L 685.602,228.55L 685.602,233.76L 683.865,233.76L 683.865,221.76L 688.76,221.76L 688.76,223.497 Z " HorizontalAlignment="Stretch" Margin="0,1,0,0" UseLayoutRounding="False" VerticalAlignment="Stretch" Opacity="0.5" />
<Path Stretch="Fill" Fill="#FF8E9197" Data="F1 M 676.602,232.803C 676.576,233.415 676.257,233.734 675.645,233.76L 671.717,233.76C 671.105,233.734 670.786,233.415 670.76,232.803L 670.76,222.717C 670.786,222.105 671.105,221.786 671.717,221.76L 675.645,221.76C 676.257,221.786 676.576,222.105 676.602,222.717L 676.602,232.803 Z M 674.865,232.023L 674.865,223.497L 672.497,223.497L 672.497,232.023L 674.865,232.023 Z M 683.076,223.497L 679.918,223.497L 679.918,226.813L 682.602,226.813L 682.602,228.55L 679.918,228.55L 679.918,233.76L 678.181,233.76L 678.181,221.76L 683.076,221.76L 683.076,223.497 Z M 688.76,223.497L 685.602,223.497L 685.602,226.813L 688.286,226.813L 688.286,228.55L 685.602,228.55L 685.602,233.76L 683.865,233.76L 683.865,221.76L 688.76,221.76L 688.76,223.497 Z " HorizontalAlignment="Stretch" Margin="0,0,0,1" UseLayoutRounding="False" VerticalAlignment="Stretch" />
</Grid>
<Grid x:Name="on" HorizontalAlignment="Right" Height="13" Margin="0,20,20,0" VerticalAlignment="Top" Width="14" FlowDirection="LeftToRight">
<Path Stretch="Fill" Fill="White" Data="F1 M 614.727,178.803C 614.699,179.415 614.362,179.734 613.716,179.76L 609.57,179.76C 608.925,179.734 608.588,179.415 608.56,178.803L 608.56,168.717C 608.588,168.105 608.925,167.786 609.57,167.76L 613.716,167.76C 614.362,167.786 614.699,168.105 614.727,168.717L 614.727,178.803 Z M 612.893,178.023L 612.893,169.497L 610.393,169.497L 610.393,178.023L 612.893,178.023 Z M 622.56,179.76L 620.914,179.76L 618.104,172.208C 618.186,172.577 618.227,172.865 618.227,173.074L 618.227,179.76L 616.393,179.76L 616.393,167.76L 618.039,167.76L 620.849,175.159C 620.767,174.79 620.727,174.502 620.727,174.293L 620.727,167.76L 622.56,167.76L 622.56,179.76 Z " HorizontalAlignment="Stretch" Margin="0,1,0,0" UseLayoutRounding="False" VerticalAlignment="Stretch" Opacity="0.35" />
<Path Stretch="Fill" Fill="#FF8E9197" Data="F1 M 614.727,178.803C 614.699,179.415 614.362,179.734 613.716,179.76L 609.57,179.76C 608.925,179.734 608.588,179.415 608.56,178.803L 608.56,168.717C 608.588,168.105 608.925,167.786 609.57,167.76L 613.716,167.76C 614.362,167.786 614.699,168.105 614.727,168.717L 614.727,178.803 Z M 612.893,178.023L 612.893,169.497L 610.393,169.497L 610.393,178.023L 612.893,178.023 Z M 622.56,179.76L 620.914,179.76L 618.104,172.208C 618.186,172.577 618.227,172.865 618.227,173.074L 618.227,179.76L 616.393,179.76L 616.393,167.76L 618.039,167.76L 620.849,175.159C 620.767,174.79 620.727,174.502 620.727,174.293L 620.727,167.76L 622.56,167.76L 622.56,179.76 Z " HorizontalAlignment="Stretch" Margin="0,0,0,1" UseLayoutRounding="False" VerticalAlignment="Stretch" />
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="power" TargetType="dxe:CheckEdit">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="dxe:CheckEdit">
<Grid x:Name="power">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal" />
<VisualState x:Name="MouseOver" />
<VisualState x:Name="Pressed" />
<VisualState x:Name="Disabled" />
</VisualStateGroup>
<VisualStateGroup x:Name="CheckStates">
<VisualState x:Name="Checked">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="normal">
<EasingDoubleKeyFrame KeyTime="0" Value="0" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="_checked">
<EasingDoubleKeyFrame KeyTime="0" Value="1" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="glyph">
<EasingDoubleKeyFrame KeyTime="0" Value="1" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Unchecked" />
<VisualState x:Name="Indeterminate" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Ellipse>
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF959799" Offset="0" />
<GradientStop Color="#FFC4CFD7" Offset="1" />
<GradientStop Color="#FF5C6165" Offset="0.65" />
<GradientStop Color="#FF45494B" Offset="0.5" />
<GradientStop Color="#FF55595B" Offset="0.3" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Margin="1">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFD0D4D9" Offset="0" />
<GradientStop Color="#FFECF5FA" Offset="1" />
<GradientStop Color="#FFB4C3CC" Offset="0.8" />
<GradientStop Color="#FF4B4E53" Offset="0.45" />
<GradientStop Color="#FF797C81" Offset="0.3" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Margin="8" Opacity="0.75">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.75,0.934" StartPoint="0.25,0.066">
<GradientStop Color="White" Offset="0" />
<GradientStop Color="White" Offset="1" />
<GradientStop Offset="0.549" />
<GradientStop Offset="0.256" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Margin="9">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.75,0.933" StartPoint="0.25,0.067">
<GradientStop Color="#FF252628" Offset="0" />
<GradientStop Color="#FF8A9197" Offset="1" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse x:Name="normal" Margin="10" Fill="#FF2D2D2D" />
<Ellipse x:Name="_checked" Margin="10" Opacity="0">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF4B9211" Offset="0" />
<GradientStop Color="#FFA5D973" Offset="1" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Margin="14,12,14,16">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#3FFFFFFF" />
<GradientStop Offset="1" />
<GradientStop Color="#06FFFFFF" Offset="0.689" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Grid Margin="14,12,14,16">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.2*" />
<ColumnDefinition Width="0.6*" />
<ColumnDefinition Width="0.2*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*" />
<RowDefinition Height="0.5*" />
</Grid.RowDefinitions>
<Ellipse Grid.Column="1" Opacity="0.75">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#66FFFFFF" />
<GradientStop Offset="1" Color="#19FFFFFF" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
</Grid>
<Grid x:Name="glyph" Margin="30,22,30,29" Opacity="0.25">
<Path Stretch="Fill" Fill="Black" Data="F1 M 340,294C 342.209,294 344,295.791 344,298L 344,328C 344,330.209 342.209,332 340,332C 337.791,332 336,330.209 336,328L 336,298C 336,295.791 337.791,294 340,294 Z M 365,327C 365,340.807 353.807,352 340,352C 326.193,352 315,340.807 315,327C 315,315.623 322.6,306.021 333,302.993L 333,311.504C 327.103,314.172 323,320.107 323,327C 323,336.389 330.611,344 340,344C 349.389,344 357,336.389 357,327C 357,320.107 352.897,314.172 347,311.504L 347,302.993C 357.4,306.021 365,315.623 365,327 Z " HorizontalAlignment="Center" Margin="0,0,0,1" UseLayoutRounding="False" VerticalAlignment="Center" Opacity="0.35" />
<Path Stretch="Fill" Fill="White" Data="F1 M 340,294C 342.209,294 344,295.791 344,298L 344,328C 344,330.209 342.209,332 340,332C 337.791,332 336,330.209 336,328L 336,298C 336,295.791 337.791,294 340,294 Z M 365,327C 365,340.807 353.807,352 340,352C 326.193,352 315,340.807 315,327C 315,315.623 322.6,306.021 333,302.993L 333,311.504C 327.103,314.172 323,320.107 323,327C 323,336.389 330.611,344 340,344C 349.389,344 357,336.389 357,327C 357,320.107 352.897,314.172 347,311.504L 347,302.993C 357.4,306.021 365,315.623 365,327 Z " HorizontalAlignment="Center" Margin="0,1,0,0" UseLayoutRounding="False" VerticalAlignment="Center" />
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="slider" TargetType="dxe:CheckEdit">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="dxe:CheckEdit">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:0.1" To="MouseOver" />
<VisualTransition From="MouseOver" GeneratedDuration="0:0:0.15" To="Normal" />
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal" />
<VisualState x:Name="MouseOver">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="on">
<EasingDoubleKeyFrame KeyTime="0" Value="1" />
</DoubleAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="off">
<DiscreteObjectKeyFrame KeyTime="0" Value="Hidden" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Pressed">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="pressed">
<EasingDoubleKeyFrame KeyTime="0" Value="1" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="off">
<EasingDoubleKeyFrame KeyTime="0" Value="0" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled" />
</VisualStateGroup>
<VisualStateGroup x:Name="CheckStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:0.15" To="Checked">
<VisualTransition.GeneratedEasingFunction>
<CircleEase EasingMode="EaseIn" />
</VisualTransition.GeneratedEasingFunction>
<Storyboard>
<DoubleAnimation Duration="0:0:0.15" From="1" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="on">
<DoubleAnimation.EasingFunction>
<CircleEase EasingMode="EaseInOut" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="X" Storyboard.TargetName="translate">
<EasingDoubleKeyFrame KeyTime="0" Value="0" />
<EasingDoubleKeyFrame KeyTime="0:0:0.15" Value="52" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
<VisualTransition GeneratedDuration="0:0:0.15" To="Unchecked">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="X" Storyboard.TargetName="translate">
<EasingDoubleKeyFrame KeyTime="0" Value="52" />
<EasingDoubleKeyFrame KeyTime="0:0:0.15" Value="0" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
</VisualStateGroup.Transitions>
<VisualState x:Name="Checked">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="X" Storyboard.TargetName="translate">
<EasingDoubleKeyFrame KeyTime="0" Value="52" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="on">
<EasingDoubleKeyFrame KeyTime="0" Value="1" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Unchecked" />
<VisualState x:Name="Indeterminate" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border x:Name="back" Background="#26313137" CornerRadius="8">
<Border CornerRadius="4" Margin="6">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF919293" Offset="0" />
<GradientStop Color="#FFBEBFBF" Offset="1" />
<GradientStop Color="#FF9FA1A2" Offset="0.25" />
</LinearGradientBrush>
</Border.Background>
<Border CornerRadius="3" Margin="1">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFCECECE" Offset="0" />
<GradientStop Color="White" Offset="1" />
<GradientStop Color="#FFECECED" Offset="0.1" />
</LinearGradientBrush>
</Border.Background>
</Border>
</Border>
</Border>
<Grid x:Name="off_Copy" HorizontalAlignment="Right" Height="13" Margin="0,1,23,0" VerticalAlignment="Center" Width="18" FlowDirection="LeftToRight">
<Path Stretch="Fill" Fill="White" Data="F1 M 676.602,232.803C 676.576,233.415 676.257,233.734 675.645,233.76L 671.717,233.76C 671.105,233.734 670.786,233.415 670.76,232.803L 670.76,222.717C 670.786,222.105 671.105,221.786 671.717,221.76L 675.645,221.76C 676.257,221.786 676.576,222.105 676.602,222.717L 676.602,232.803 Z M 674.865,232.023L 674.865,223.497L 672.497,223.497L 672.497,232.023L 674.865,232.023 Z M 683.076,223.497L 679.918,223.497L 679.918,226.813L 682.602,226.813L 682.602,228.55L 679.918,228.55L 679.918,233.76L 678.181,233.76L 678.181,221.76L 683.076,221.76L 683.076,223.497 Z M 688.76,223.497L 685.602,223.497L 685.602,226.813L 688.286,226.813L 688.286,228.55L 685.602,228.55L 685.602,233.76L 683.865,233.76L 683.865,221.76L 688.76,221.76L 688.76,223.497 Z " HorizontalAlignment="Stretch" Margin="0,1,0,0" UseLayoutRounding="False" VerticalAlignment="Stretch" />
<Path Stretch="Fill" Fill="#FF9A9C9D" Data="F1 M 676.602,232.803C 676.576,233.415 676.257,233.734 675.645,233.76L 671.717,233.76C 671.105,233.734 670.786,233.415 670.76,232.803L 670.76,222.717C 670.786,222.105 671.105,221.786 671.717,221.76L 675.645,221.76C 676.257,221.786 676.576,222.105 676.602,222.717L 676.602,232.803 Z M 674.865,232.023L 674.865,223.497L 672.497,223.497L 672.497,232.023L 674.865,232.023 Z M 683.076,223.497L 679.918,223.497L 679.918,226.813L 682.602,226.813L 682.602,228.55L 679.918,228.55L 679.918,233.76L 678.181,233.76L 678.181,221.76L 683.076,221.76L 683.076,223.497 Z M 688.76,223.497L 685.602,223.497L 685.602,226.813L 688.286,226.813L 688.286,228.55L 685.602,228.55L 685.602,233.76L 683.865,233.76L 683.865,221.76L 688.76,221.76L 688.76,223.497 Z " HorizontalAlignment="Stretch" Margin="0,0,0,1" UseLayoutRounding="False" VerticalAlignment="Stretch" />
</Grid>
<Grid x:Name="on_Copy" HorizontalAlignment="Left" Height="13" Margin="27,1,0,0" VerticalAlignment="Center" Width="14" FlowDirection="LeftToRight">
<Path Stretch="Fill" Fill="White" Data="F1 M 614.727,178.803C 614.699,179.415 614.362,179.734 613.716,179.76L 609.57,179.76C 608.925,179.734 608.588,179.415 608.56,178.803L 608.56,168.717C 608.588,168.105 608.925,167.786 609.57,167.76L 613.716,167.76C 614.362,167.786 614.699,168.105 614.727,168.717L 614.727,178.803 Z M 612.893,178.023L 612.893,169.497L 610.393,169.497L 610.393,178.023L 612.893,178.023 Z M 622.56,179.76L 620.914,179.76L 618.104,172.208C 618.186,172.577 618.227,172.865 618.227,173.074L 618.227,179.76L 616.393,179.76L 616.393,167.76L 618.039,167.76L 620.849,175.159C 620.767,174.79 620.727,174.502 620.727,174.293L 620.727,167.76L 622.56,167.76L 622.56,179.76 Z " HorizontalAlignment="Stretch" Margin="0,1,0,0" UseLayoutRounding="False" VerticalAlignment="Stretch" />
<Path Stretch="Fill" Fill="#FF9A9C9D" Data="F1 M 614.727,178.803C 614.699,179.415 614.362,179.734 613.716,179.76L 609.57,179.76C 608.925,179.734 608.588,179.415 608.56,178.803L 608.56,168.717C 608.588,168.105 608.925,167.786 609.57,167.76L 613.716,167.76C 614.362,167.786 614.699,168.105 614.727,168.717L 614.727,178.803 Z M 612.893,178.023L 612.893,169.497L 610.393,169.497L 610.393,178.023L 612.893,178.023 Z M 622.56,179.76L 620.914,179.76L 618.104,172.208C 618.186,172.577 618.227,172.865 618.227,173.074L 618.227,179.76L 616.393,179.76L 616.393,167.76L 618.039,167.76L 620.849,175.159C 620.767,174.79 620.727,174.502 620.727,174.293L 620.727,167.76L 622.56,167.76L 622.56,179.76 Z " HorizontalAlignment="Stretch" Margin="0,0,0,1" UseLayoutRounding="False" VerticalAlignment="Stretch" />
</Grid>
<Grid Margin="8">
<Grid x:Name="thumb" Width="52" HorizontalAlignment="Left">
<Border x:Name="off" CornerRadius="3">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFB2B2B2" Offset="0" />
<GradientStop Color="#FFA1A1A1" Offset="1" />
</LinearGradientBrush>
</Border.Background>
<Border CornerRadius="2" Margin="1" BorderThickness="0,1,0,0" BorderBrush="#FFE5E5E5">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFD9D9D9" Offset="0" />
<GradientStop Color="#FFCACACA" Offset="1" />
</LinearGradientBrush>
</Border.Background>
</Border>
</Border>
<Border x:Name="on" CornerRadius="3" Opacity="0">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF7E9BCD" Offset="0" />
<GradientStop Color="#FF6383BD" Offset="1" />
</LinearGradientBrush>
</Border.Background>
<Border CornerRadius="2" Margin="1" BorderThickness="0,1,0,0" BorderBrush="#FFBFD8F3">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFA1BEE5" Offset="0" />
<GradientStop Color="#FF85A3D0" Offset="1" />
</LinearGradientBrush>
</Border.Background>
</Border>
</Border>
<Border x:Name="pressed" CornerRadius="3" Opacity="0">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFB2B2B2" Offset="1" />
<GradientStop Color="#FF8B8B8B" />
</LinearGradientBrush>
</Border.Background>
<Border CornerRadius="2" Margin="1" BorderThickness="0" BorderBrush="#FFE5E5E5">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Silver" Offset="1" />
<GradientStop Color="#FFA7A7A7" />
</LinearGradientBrush>
</Border.Background>
</Border>
</Border>
<Grid.RenderTransform>
<TranslateTransform x:Name="translate" />
</Grid.RenderTransform>
</Grid>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</local:EditorsDemoModule.Resources>
<dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
<dxdb:DemoModuleControl.OptionsContent>
<StackPanel Width="250">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Text="Edit value:" VerticalAlignment="Center" Margin="0,0,6,8" />
<dxe:TextEdit IsReadOnly="True" Grid.Column="1" Text="{Binding ElementName=editor, Path=EditValue, Mode=OneWay, Converter={utils:NullableToStringConverter}}" Margin="0,0,0,8" />
<dxe:CheckEdit x:Name="chkIsReadOnly" Content="Is read-only" IsChecked="False" Grid.Row="1" Grid.ColumnSpan="2" Margin="0,0,0,4" />
<dxe:CheckEdit x:Name="chkIsThreeState" Content="Allow indeterminate state" IsChecked="False" Grid.Row="2" Grid.ColumnSpan="2" Margin="0,0,0,8" />
<TextBlock Grid.Row="3" Grid.Column="0" Text="Click mode:" VerticalAlignment="Center" Margin="0,0,6,0" />
<dxe:ComboBoxEdit x:Name="cboClickMode" SelectedIndex="2" Grid.Row="3" Grid.Column="1" IsTextEditable="False" />
</Grid>
</StackPanel>
</dxdb:DemoModuleControl.OptionsContent>
<Grid Margin="48,40,48,48">
<Grid.RowDefinitions>
<RowDefinition Height="0.25*" />
<RowDefinition Height="0.75*" />
</Grid.RowDefinitions>
<dx:GroupFrame Grid.Row="0" Header="Configurable Editor">
<dxe:CheckEdit x:Name="editor"
Content="Sample check box"
IsThreeState="{Binding ElementName=chkIsThreeState, Path=IsChecked, Mode=OneWay}"
IsReadOnly="{Binding ElementName=chkIsReadOnly, Path=IsChecked, Mode=OneWay}"
ClickMode="{Binding ElementName=cboClickMode, Path=EditValue, Mode=OneWay}"
HorizontalAlignment="Center"
>
<ToolTipService.ToolTip>
<Border>
<StackPanel Orientation="Vertical">
<TextBlock Text="Mouse Operations" FontWeight="Bold" />
<TextBlock Text="Click Caption or Check Box" />
<TextBlock Text="Keyboard" FontWeight="Bold" />
<TextBlock Text="Press SPACE" />
</StackPanel>
</Border>
</ToolTipService.ToolTip>
</dxe:CheckEdit>
</dx:GroupFrame>
<dx:GroupFrame Grid.Row="1" Header="Customization Samples" Margin="0,12,0,0">
<StackPanel Margin="12" Orientation="Horizontal" HorizontalAlignment="Center">
<dxe:CheckEdit x:Name="dimmer" Height="140" Style="{StaticResource dimmer}" Width="140" Margin="0,0,24,0" />
<dxe:CheckEdit x:Name="slider" Height="40" Style="{StaticResource slider}" Width="120" Margin="0,0,24,0" />
<dxe:CheckEdit x:Name="power" Height="110" Style="{StaticResource power}" Width="110" />
</StackPanel>
</dx:GroupFrame>
</Grid>
</dxdb:DemoModuleControl>
</local:EditorsDemoModule>