Создал свой стиль чекбокса на основе стиля из сети (слайдер). Проблема в том, что если создать этот слайдер с дефолтным параметром IsChecked = true
, то при появлении этого слайдера на форме, он не сразу будет в положении ВКЛ, а переключится из ВЫКЛ в ВКЛ. Пытался что-то подкрутить внутри<VisualTransition GeneratedDuration="0:0:0.15" To="Checked">
, но не вышло.
Что нужно исправить, что бы слайдер сразу появлялся в положении ВКЛ?
<Style x:Key="slider" TargetType="CheckBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="CheckBox">
<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="pressed">
<EasingDoubleKeyFrame KeyTime="0" Value="0.3" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="off">
<EasingDoubleKeyFrame KeyTime="0" Value="1" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Pressed">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="on">
<EasingDoubleKeyFrame KeyTime="0" Value="1" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled" />
</VisualStateGroup>
<VisualStateGroup x:Name="CheckStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:0.15" To="Checked">
<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="0">
<Border CornerRadius="0" Margin="0">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#ffff8000" Offset="0" />
<GradientStop Color="#ffff8000" Offset="1" />
<GradientStop Color="#ffffffff" Offset="0.5" />
</LinearGradientBrush>
</Border.Background>
<Border CornerRadius="0" Margin="1" Background="Black"></Border>
</Border>
</Border>
<Grid x:Name="off_Copy" HorizontalAlignment="Right" Height="13" Margin="0,0,16,0" VerticalAlignment="Center" Width="25" FlowDirection="LeftToRight">
<TextBlock Text="OFF" HorizontalAlignment="Center" TextAlignment="Center" VerticalAlignment="Center" FontSize="14" Foreground="Red"/>
</Grid>
<Grid x:Name="on_Copy" HorizontalAlignment="Left" Height="13" Margin="16,1,0,0" VerticalAlignment="Center" Width="25" FlowDirection="LeftToRight">
<TextBlock Text="ON" Foreground="White" HorizontalAlignment="Center" TextAlignment="Center" VerticalAlignment="Center" FontSize="14"/>
</Grid>
<Grid Margin="3">
<Grid x:Name="thumb" Width="52" HorizontalAlignment="Left">
<Border x:Name="off" CornerRadius="0">
<Border CornerRadius="0" Margin="0" Background="White"></Border>
</Border>
<Border x:Name="on" CornerRadius="0" Opacity="0" Background="#ff000000">
<Border CornerRadius="0" Margin="0" Background="#ffff8000"></Border>
</Border>
<Border x:Name="pressed" CornerRadius="3" Opacity="0" Background="#FFB2B2B2">
<Border CornerRadius="2" Margin="1" Background="#FF6441A4"></Border>
</Border>
<Grid.RenderTransform>
<TranslateTransform x:Name="translate" />
</Grid.RenderTransform>
</Grid>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Задача такая: есть PSD файл, в нём есть шаблон с текстом и фото, их нужно изменитьТ
подскажите как подключить данный плагин на языке Net Core?
Читаю книгу "Грокаем Алгоритмы" - Адитьи Бхаргавы