hotfix: 修复 BAML 反序列化运行时错误 (v2.0.2)

问题: 启动时报 System.Windows.Baml2006.DeferredBinaryDeserializerExtension 异常
根因: ResourceDictionary 中使用了不合法的共享资源类型

修复:
- 移除主题中 DropShadowEffect/CubicEase/QuadraticEase/Duration 共享资源
- 将所有 Effect 和 EasingFunction 改为内联声明
- 修复 DynamicResource 引用
This commit is contained in:
miao-moe
2026-06-28 07:55:33 +00:00
parent bb0c8832a0
commit f219b63faf
15 changed files with 178 additions and 198 deletions

View File

@@ -10,9 +10,6 @@
<!-- 页面资源字典 -->
<Page.Resources>
<CubicEase x:Key="CubicEase" EasingMode="EaseOut"/>
<QuadraticEase x:Key="QuadraticEase" EasingMode="EaseOut"/>
<!-- 激活按钮样式 -->
<Style x:Key="ActivateButtonStyle" TargetType="Button">
<Setter Property="Background" Value="{DynamicResource AccentBrush}"/>
@@ -42,12 +39,18 @@
<Storyboard>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
To="1.04" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.04" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
To="1.04" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.04" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
@@ -56,12 +59,18 @@
<Storyboard>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
To="1.0" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.0" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
To="1.0" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.0" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>

View File

@@ -10,9 +10,6 @@
<!-- 页面资源字典 -->
<Page.Resources>
<CubicEase x:Key="CubicEase" EasingMode="EaseOut"/>
<QuadraticEase x:Key="QuadraticEase" EasingMode="EaseOut"/>
<!-- 转换按钮样式 -->
<Style x:Key="ConvertButtonStyle" TargetType="Button">
<Setter Property="Background" Value="{DynamicResource AccentBrush}"/>
@@ -45,12 +42,18 @@
<Storyboard>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
To="1.04" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.04" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
To="1.04" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.04" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
@@ -59,12 +62,18 @@
<Storyboard>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
To="1.0" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.0" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
To="1.0" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.0" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
@@ -90,8 +99,11 @@
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="BorderBrush.Color"
To="#FF5B9BD5" Duration="0:0:0.300"
EasingFunction="{StaticResource CubicEase}"/>
To="#FF5B9BD5" Duration="0:0:0.300">
<ColorAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</ColorAnimation.EasingFunction>
</ColorAnimation>
<DoubleAnimation Storyboard.TargetProperty="BorderBrush.Opacity"
To="0.8" Duration="0:0:0.300"/>
</Storyboard>
@@ -101,8 +113,11 @@
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="BorderBrush.Color"
Duration="0:0:0.300"
EasingFunction="{StaticResource CubicEase}"/>
Duration="0:0:0.300">
<ColorAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</ColorAnimation.EasingFunction>
</ColorAnimation>
<DoubleAnimation Storyboard.TargetProperty="BorderBrush.Opacity"
To="1.0" Duration="0:0:0.300"/>
</Storyboard>

View File

@@ -10,9 +10,6 @@
<!-- 页面资源字典 -->
<Page.Resources>
<CubicEase x:Key="CubicEase" EasingMode="EaseOut"/>
<QuadraticEase x:Key="QuadraticEase" EasingMode="EaseOut"/>
<!-- 悬停上浮卡片样式 -->
<Style x:Key="HoverCardStyle" TargetType="Border">
<Setter Property="Background" Value="{DynamicResource CardBackgroundBrush}"/>
@@ -27,8 +24,11 @@
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.(TranslateTransform.Y)"
To="-2" Duration="0:0:0.200"
EasingFunction="{StaticResource CubicEase}"/>
To="-2" Duration="0:0:0.200">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
@@ -36,8 +36,11 @@
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.(TranslateTransform.Y)"
To="0" Duration="0:0:0.200"
EasingFunction="{StaticResource CubicEase}"/>
To="0" Duration="0:0:0.200">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
@@ -82,12 +85,18 @@
<Storyboard>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
To="1.03" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.03" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
To="1.03" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.03" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
@@ -96,12 +105,18 @@
<Storyboard>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
To="1.0" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.0" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
To="1.0" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.0" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>

View File

@@ -43,12 +43,18 @@
<Storyboard>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
To="1.05" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.05" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
To="1.05" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.05" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
@@ -57,12 +63,18 @@
<Storyboard>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
To="1.0" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.0" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
To="1.0" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.0" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
@@ -108,12 +120,18 @@
<Storyboard>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
To="1.05" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.05" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
To="1.05" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.05" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
@@ -122,12 +140,18 @@
<Storyboard>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
To="1.0" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.0" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="btnBorder"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
To="1.0" Duration="0:0:0.150"
EasingFunction="{StaticResource CubicEase}"/>
To="1.0" Duration="0:0:0.150">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
@@ -138,10 +162,6 @@
</Setter>
</Style>
<!-- 缓动函数引用 -->
<CubicEase x:Key="CubicEase" EasingMode="EaseOut"/>
<QuadraticEase x:Key="QuadraticEase" EasingMode="EaseOut"/>
<!-- 状态卡片样式 -->
<Style x:Key="StatusCardStyle" TargetType="Border">
<Setter Property="Background" Value="{DynamicResource CardBackgroundBrush}"/>

View File

@@ -10,9 +10,6 @@
<!-- 页面资源字典 -->
<Page.Resources>
<CubicEase x:Key="CubicEase" EasingMode="EaseOut"/>
<QuadraticEase x:Key="QuadraticEase" EasingMode="EaseOut"/>
<!-- 自定义ToggleSwitch样式Border+Ellipse实现 -->
<Style x:Key="CustomToggleSwitch" TargetType="CheckBox">
<Setter Property="Cursor" Value="Hand"/>
@@ -60,18 +57,27 @@
<!-- 背景颜色渐变到AccentColor -->
<ColorAnimation Storyboard.TargetName="ToggleTrack"
Storyboard.TargetProperty="Background.Color"
To="#FF4CAF50" Duration="0:0:0.250"
EasingFunction="{StaticResource CubicEase}"/>
To="#FF4CAF50" Duration="0:0:0.250">
<ColorAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</ColorAnimation.EasingFunction>
</ColorAnimation>
<!-- 指示器滑动到右侧 -->
<DoubleAnimation Storyboard.TargetName="ToggleThumb"
Storyboard.TargetProperty="RenderTransform.(TranslateTransform.X)"
To="22" Duration="0:0:0.250"
EasingFunction="{StaticResource CubicEase}"/>
To="22" Duration="0:0:0.250">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<!-- 轨道轻微缩放反馈 -->
<DoubleAnimation Storyboard.TargetName="ToggleTrack"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
To="1.03" Duration="0:0:0.100"
EasingFunction="{StaticResource CubicEase}"/>
To="1.03" Duration="0:0:0.100">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
@@ -81,17 +87,26 @@
<!-- 背景颜色恢复灰色 -->
<ColorAnimation Storyboard.TargetName="ToggleTrack"
Storyboard.TargetProperty="Background.Color"
To="#FFBDBDBD" Duration="0:0:0.250"
EasingFunction="{StaticResource CubicEase}"/>
To="#FFBDBDBD" Duration="0:0:0.250">
<ColorAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</ColorAnimation.EasingFunction>
</ColorAnimation>
<!-- 指示器滑动回左侧 -->
<DoubleAnimation Storyboard.TargetName="ToggleThumb"
Storyboard.TargetProperty="RenderTransform.(TranslateTransform.X)"
To="0" Duration="0:0:0.250"
EasingFunction="{StaticResource CubicEase}"/>
To="0" Duration="0:0:0.250">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="ToggleTrack"
Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleX)"
To="1.0" Duration="0:0:0.100"
EasingFunction="{StaticResource CubicEase}"/>
To="1.0" Duration="0:0:0.100">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>