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