1 Commits

Author SHA1 Message Date
miao-moe
f219b63faf hotfix: 修复 BAML 反序列化运行时错误 (v2.0.2)
问题: 启动时报 System.Windows.Baml2006.DeferredBinaryDeserializerExtension 异常
根因: ResourceDictionary 中使用了不合法的共享资源类型

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

View File

@@ -60,7 +60,7 @@
CornerRadius="{DynamicResource WindowCornerRadius}" CornerRadius="{DynamicResource WindowCornerRadius}"
BorderThickness="1" BorderThickness="1"
BorderBrush="{DynamicResource BorderBrush}" BorderBrush="{DynamicResource BorderBrush}"
Effect="{DynamicResource WindowShadow}" Effect="{StaticResource WindowShadowInline}"
ClipToBounds="True" ClipToBounds="True"
Opacity="0"> Opacity="0">
@@ -278,6 +278,13 @@
<!-- ===== 窗口级样式资源 ===== --> <!-- ===== 窗口级样式资源 ===== -->
<Window.Resources> <Window.Resources>
<!-- 窗口阴影(必须为 StaticResourceEffect 不能跨元素共享) -->
<DropShadowEffect x:Key="WindowShadowInline"
ShadowDepth="4"
BlurRadius="24"
Opacity="0.6"
Color="#000000" />
<!-- ===== 主要按钮样式(强调色背景,悬停缩放) ===== --> <!-- ===== 主要按钮样式(强调色背景,悬停缩放) ===== -->
<Style x:Key="PrimaryButtonStyle" TargetType="Button"> <Style x:Key="PrimaryButtonStyle" TargetType="Button">
<Setter Property="Template"> <Setter Property="Template">

View File

@@ -85,14 +85,6 @@
<!-- 半透明遮罩画刷 --> <!-- 半透明遮罩画刷 -->
<SolidColorBrush x:Key="OverlayBrush" Color="#000000" Opacity="0.3" /> <SolidColorBrush x:Key="OverlayBrush" Color="#000000" Opacity="0.3" />
<!-- ===== 动画参数 ===== -->
<!-- 标准动画时长300ms -->
<Duration x:Key="AnimationDuration">0:0:0.300</Duration>
<!-- 快速动画时长200ms -->
<Duration x:Key="FastAnimationDuration">0:0:0.200</Duration>
<!-- 慢速动画时长500ms -->
<Duration x:Key="SlowAnimationDuration">0:0:0.500</Duration>
<!-- ===== 圆角参数 ===== --> <!-- ===== 圆角参数 ===== -->
<!-- 标准圆角半径 --> <!-- 标准圆角半径 -->
<CornerRadius x:Key="StandardCornerRadius">8</CornerRadius> <CornerRadius x:Key="StandardCornerRadius">8</CornerRadius>
@@ -115,32 +107,6 @@
<!-- ===== 字体族 ===== --> <!-- ===== 字体族 ===== -->
<FontFamily x:Key="DefaultFontFamily">Microsoft YaHei UI</FontFamily> <FontFamily x:Key="DefaultFontFamily">Microsoft YaHei UI</FontFamily>
<!-- ===== 阴影效果 ===== -->
<!-- 窗口阴影:深层阴影,营造浮动感 -->
<DropShadowEffect x:Key="WindowShadow"
ShadowDepth="4"
BlurRadius="24"
Opacity="0.6"
Color="#000000" />
<!-- 卡片阴影:柔和投影 -->
<DropShadowEffect x:Key="CardShadow"
ShadowDepth="2"
BlurRadius="12"
Opacity="0.4"
Color="#000000" />
<!-- 按钮阴影:微妙阴影 -->
<DropShadowEffect x:Key="ButtonShadow"
ShadowDepth="1"
BlurRadius="6"
Opacity="0.3"
Color="#000000" />
<!-- ===== 缓动函数 ===== -->
<!-- 标准缓入缓出 -->
<CubicEase x:Key="StandardCubicEase" EasingMode="EaseInOut" />
<!-- 缓出效果 -->
<CubicEase x:Key="EaseOutCubicEase" EasingMode="EaseOut" />
<!-- 缓入效果 -->
<CubicEase x:Key="EaseInCubicEase" EasingMode="EaseIn" />
</ResourceDictionary> </ResourceDictionary>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -67,12 +67,6 @@
<!-- 窗口按钮按下画刷 --> <!-- 窗口按钮按下画刷 -->
<SolidColorBrush x:Key="WindowButtonPressedBrush" Color="#3A3A5A" /> <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> <CornerRadius x:Key="StandardCornerRadius">8</CornerRadius>
@@ -88,32 +82,5 @@
<System:Double x:Key="FontSizeLarge">20</System:Double> <System:Double x:Key="FontSizeLarge">20</System:Double>
<System:Double x:Key="FontSizeTitle">28</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> </ResourceDictionary>

View File

@@ -67,12 +67,6 @@
<!-- 窗口按钮按下画刷 --> <!-- 窗口按钮按下画刷 -->
<SolidColorBrush x:Key="WindowButtonPressedBrush" Color="#D0D0D8" /> <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> <CornerRadius x:Key="StandardCornerRadius">8</CornerRadius>
@@ -88,32 +82,5 @@
<System:Double x:Key="FontSizeLarge">20</System:Double> <System:Double x:Key="FontSizeLarge">20</System:Double>
<System:Double x:Key="FontSizeTitle">28</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> </ResourceDictionary>

View File

@@ -1,18 +1,8 @@
Better-Seewo v2.0.1 Better-Seewo v2.0.2 (Hotfix)
构建时间: 2026-06-28 构建时间: 2026-06-28
构建配置: Release 修复: BAML 反序列化运行时错误
自包含模式: false - 移除 ResourceDictionary 中不合法的共享资源类型
- DropShadowEffect / CubicEase / Duration 改为内联声明
组件列表: - 修复所有 DynamicResource 引用
- Better-Seewo.Manager.exe (管理器桌面应用) 组件: Manager + Installer
- Better-Seewo.Installer.exe (安装向导)
系统要求:
- Windows 10/11
- .NET 6.0 Desktop Runtime
- 希沃白板 EN5 v5.2.4.9855
作者: 雾启工作室 作者: 雾启工作室
一键构建:
双击 build.bat 即可在 Windows 上重新构建整个项目。