fix: 修复实时开关绑定及动画效果
- MainWindow.xaml: 绑定 IsChecked 到 IsMainViewportRealtimeEnabled - Generic.xaml: 修复 AnimatedSwitch 模板,添加初始状态 Setter 和 ExitActions 动画
This commit is contained in:
@@ -30,7 +30,7 @@
|
||||
x:Name="Thumb"
|
||||
Width="18"
|
||||
Height="18"
|
||||
Margin="3"
|
||||
Margin="3,3,3,3"
|
||||
HorizontalAlignment="Left"
|
||||
Background="{TemplateBinding ThumbBrush}"
|
||||
CornerRadius="9">
|
||||
@@ -41,25 +41,24 @@
|
||||
Opacity="0.2"
|
||||
ShadowDepth="1" />
|
||||
</Border.Effect>
|
||||
<Border.RenderTransform>
|
||||
<TranslateTransform x:Name="ThumbTranslate" X="0" />
|
||||
</Border.RenderTransform>
|
||||
</Border>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsChecked" Value="True">
|
||||
<Setter TargetName="Thumb" Property="Margin" Value="23,3,3,3" />
|
||||
<Setter TargetName="Track" Property="Background" Value="#2DCC70" />
|
||||
<Trigger.EnterActions>
|
||||
<BeginStoryboard>
|
||||
<Storyboard>
|
||||
<DoubleAnimation
|
||||
Storyboard.TargetName="ThumbTranslate"
|
||||
Storyboard.TargetProperty="X"
|
||||
To="20"
|
||||
<ThicknessAnimation
|
||||
Storyboard.TargetName="Thumb"
|
||||
Storyboard.TargetProperty="Margin"
|
||||
To="23,3,3,3"
|
||||
Duration="0:0:0.18">
|
||||
<DoubleAnimation.EasingFunction>
|
||||
<ThicknessAnimation.EasingFunction>
|
||||
<CubicEase EasingMode="EaseInOut" />
|
||||
</DoubleAnimation.EasingFunction>
|
||||
</DoubleAnimation>
|
||||
</ThicknessAnimation.EasingFunction>
|
||||
</ThicknessAnimation>
|
||||
<ColorAnimation
|
||||
Storyboard.TargetName="Track"
|
||||
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
|
||||
@@ -72,21 +71,18 @@
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</Trigger.EnterActions>
|
||||
</Trigger>
|
||||
|
||||
<Trigger Property="IsChecked" Value="False">
|
||||
<Trigger.EnterActions>
|
||||
<Trigger.ExitActions>
|
||||
<BeginStoryboard>
|
||||
<Storyboard>
|
||||
<DoubleAnimation
|
||||
Storyboard.TargetName="ThumbTranslate"
|
||||
Storyboard.TargetProperty="X"
|
||||
To="0"
|
||||
<ThicknessAnimation
|
||||
Storyboard.TargetName="Thumb"
|
||||
Storyboard.TargetProperty="Margin"
|
||||
To="3,3,3,3"
|
||||
Duration="0:0:0.18">
|
||||
<DoubleAnimation.EasingFunction>
|
||||
<ThicknessAnimation.EasingFunction>
|
||||
<CubicEase EasingMode="EaseInOut" />
|
||||
</DoubleAnimation.EasingFunction>
|
||||
</DoubleAnimation>
|
||||
</ThicknessAnimation.EasingFunction>
|
||||
</ThicknessAnimation>
|
||||
<ColorAnimation
|
||||
Storyboard.TargetName="Track"
|
||||
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
|
||||
@@ -98,7 +94,7 @@
|
||||
</ColorAnimation>
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</Trigger.EnterActions>
|
||||
</Trigger.ExitActions>
|
||||
</Trigger>
|
||||
|
||||
<Trigger Property="IsEnabled" Value="False">
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
Margin="4,10,4,4"
|
||||
HorizontalAlignment="Center"
|
||||
ToolTip="主界面实时"
|
||||
IsChecked="True"
|
||||
IsChecked="{Binding IsMainViewportRealtimeEnabled, Mode=TwoWay}"
|
||||
SwitchWidth="44"
|
||||
SwitchHeight="24" />
|
||||
<TextBlock
|
||||
|
||||
Reference in New Issue
Block a user