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

@@ -58,10 +58,13 @@
CornerRadius="{DynamicResource StandardCornerRadius}"
BorderThickness="1"
BorderBrush="{DynamicResource BorderBrush}"
Effect="{DynamicResource WindowShadow}"
ClipToBounds="True"
Opacity="0">
<Border.Effect>
<DropShadowEffect ShadowDepth="4" BlurRadius="20" Opacity="0.5" Color="#000000" />
</Border.Effect>
<!-- 缩放变换(用于入场动画) -->
<Border.RenderTransform>
<ScaleTransform ScaleX="1.0" ScaleY="1.0" />
@@ -178,8 +181,11 @@
<Border Grid.Column="0"
Background="{DynamicResource SecondaryBackgroundBrush}"
CornerRadius="{DynamicResource StandardCornerRadius}"
Margin="4,4,0,4"
Effect="{DynamicResource NavBarShadow}">
Margin="4,4,0,4">
<Border.Effect>
<DropShadowEffect ShadowDepth="2" BlurRadius="8" Opacity="0.25" Color="#000000" />
</Border.Effect>
<!-- 导航按钮列表(竖向排列) -->
<StackPanel VerticalAlignment="Center"
@@ -349,8 +355,11 @@
Margin="8,4,4,4"
CornerRadius="{DynamicResource StandardCornerRadius}"
Background="{DynamicResource CardBackgroundBrush}"
ClipToBounds="True"
Effect="{DynamicResource CardShadow}">
ClipToBounds="True">
<Border.Effect>
<DropShadowEffect ShadowDepth="2" BlurRadius="12" Opacity="0.3" Color="#000000" />
</Border.Effect>
<!-- 页面导航Frame -->
<Frame x:Name="ContentFrame"

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>

View File

@@ -67,12 +67,6 @@
<!-- 窗口按钮按下画刷 -->
<SolidColorBrush x:Key="WindowButtonPressedBrush" Color="#3A3A5A" />
<!-- ===== 动画参数 ===== -->
<!-- 标准动画时长(毫秒) -->
<Duration x:Key="AnimationDuration">0:0:0.300</Duration>
<!-- 快速动画时长(毫秒) -->
<Duration x:Key="FastAnimationDuration">0:0:0.200</Duration>
<!-- ===== 圆角参数 ===== -->
<!-- 标准圆角半径 -->
<CornerRadius x:Key="StandardCornerRadius">8</CornerRadius>
@@ -88,32 +82,5 @@
<System:Double x:Key="FontSizeLarge">20</System:Double>
<System:Double x:Key="FontSizeTitle">28</System:Double>
<!-- ===== 阴影效果 ===== -->
<!-- 卡片阴影柔和投影Fluent Design风格 -->
<DropShadowEffect x:Key="CardShadow"
ShadowDepth="2"
BlurRadius="12"
Opacity="0.4"
Color="#000000" />
<!-- 窗口阴影:深层阴影 -->
<DropShadowEffect x:Key="WindowShadow"
ShadowDepth="4"
BlurRadius="20"
Opacity="0.6"
Color="#000000" />
<!-- 导航栏阴影:微妙侧边阴影 -->
<DropShadowEffect x:Key="NavBarShadow"
ShadowDepth="2"
BlurRadius="8"
Opacity="0.3"
Color="#000000" />
<!-- ===== 缓动函数 ===== -->
<!-- 标准缓入缓出 -->
<CubicEase x:Key="StandardCubicEase" EasingMode="EaseInOut" />
<!-- 缓出效果 -->
<CubicEase x:Key="EaseOutCubicEase" EasingMode="EaseOut" />
<!-- 缓入效果 -->
<CubicEase x:Key="EaseInCubicEase" EasingMode="EaseIn" />
</ResourceDictionary>

View File

@@ -67,12 +67,6 @@
<!-- 窗口按钮按下画刷 -->
<SolidColorBrush x:Key="WindowButtonPressedBrush" Color="#D0D0D8" />
<!-- ===== 动画参数 ===== -->
<!-- 标准动画时长(毫秒) -->
<Duration x:Key="AnimationDuration">0:0:0.300</Duration>
<!-- 快速动画时长(毫秒) -->
<Duration x:Key="FastAnimationDuration">0:0:0.200</Duration>
<!-- ===== 圆角参数 ===== -->
<!-- 标准圆角半径 -->
<CornerRadius x:Key="StandardCornerRadius">8</CornerRadius>
@@ -88,32 +82,5 @@
<System:Double x:Key="FontSizeLarge">20</System:Double>
<System:Double x:Key="FontSizeTitle">28</System:Double>
<!-- ===== 阴影效果 ===== -->
<!-- 卡片阴影柔和投影Fluent Design风格 -->
<DropShadowEffect x:Key="CardShadow"
ShadowDepth="2"
BlurRadius="12"
Opacity="0.15"
Color="#000000" />
<!-- 窗口阴影:深层阴影 -->
<DropShadowEffect x:Key="WindowShadow"
ShadowDepth="4"
BlurRadius="20"
Opacity="0.25"
Color="#000000" />
<!-- 导航栏阴影:微妙侧边阴影 -->
<DropShadowEffect x:Key="NavBarShadow"
ShadowDepth="1"
BlurRadius="6"
Opacity="0.1"
Color="#000000" />
<!-- ===== 缓动函数 ===== -->
<!-- 标准缓入缓出 -->
<CubicEase x:Key="StandardCubicEase" EasingMode="EaseInOut" />
<!-- 缓出效果 -->
<CubicEase x:Key="EaseOutCubicEase" EasingMode="EaseOut" />
<!-- 缓入效果 -->
<CubicEase x:Key="EaseInCubicEase" EasingMode="EaseIn" />
</ResourceDictionary>