WPF 控制动画开关
第一种方案靠代码查找动画资源进行控制第一步首先定义一个静态类提供依赖属性进而方便在xaml中实现绑定public static class AnimationBehavior { // 定义附加属性 public static readonly DependencyProperty IsAnimatingProperty DependencyProperty.RegisterAttached( IsAnimating, typeof(bool), typeof(AnimationBehavior), new PropertyMetadata(false, OnIsAnimatingChanged)); public static bool GetIsAnimating(DependencyObject obj) (bool)obj.GetValue(IsAnimatingProperty); public static void SetIsAnimating(DependencyObject obj, bool value) obj.SetValue(IsAnimatingProperty, value); private static void OnIsAnimatingChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (d is FrameworkElement element) { // 通过 VisualTreeHelper 查找模板中的 Storyboard if (element.FindResource(ShadowAnimation) is Storyboard storyboard) { if ((bool)e.NewValue) storyboard.Begin(element, true); // 启动动画 else storyboard.Stop(element); // 停止动画 } } } }其中实现了依赖属性IsAnimating。第二步在前端中定义动画Page.Resources !-- 将 Storyboard 定义在全局资源中 -- Storyboard x:KeyShadowAnimation DoubleAnimation AutoReverseTrue RepeatBehaviorForever Storyboard.TargetNameShadowEffect Storyboard.TargetPropertyOpacity From0.0 To1 Duration0:0:3 / DoubleAnimation AutoReverseTrue RepeatBehaviorForever Storyboard.TargetNamemyBorder Storyboard.TargetPropertyOpacity From0.3 To1 Duration0:0:3 / !--ThicknessAnimation AutoReverseTrue RepeatBehaviorForever Storyboard.TargetNamemyBorder Storyboard.TargetPropertyMargin From15 To12 Duration0:0:1.5 /-- /Storyboard /Page.Resources其中每一个DoubleAnimation定义中的TargetName是当前界面的其他对象名称Border x:NamemyBorder Grid.ColumnSpan1 Margin4 localVM:AnimationBehavior.IsAnimating{Binding CurrentActionHandle.ExecutionState, Converter{StaticResource SingleFlowExecutionStateToBoolJustRunnimg}} Background{Binding CurrentActionHandle.ExecutionState, Converter{StaticResource SingleFlowExecutionStateToBrushColor}} CornerRadius10 Border.Effect DropShadowEffect x:NameShadowEffect BlurRadius10 Direction12 Opacity80 ShadowDepth0 Color{Binding CurrentActionHandle.ExecutionState, Converter{StaticResource SingleFlowExecutionStateToColor}} / /Border.Effect /Border比如myBorder 和 ShadowEffect;第三步创建绑定关系比如上方代码中localVM:AnimationBehavior.IsAnimating{Binding CurrentActionHandle.ExecutionState, Converter{StaticResource SingleFlowExecutionStateToBoolJustRunnimg}}给新手解释一下其中localVM是自己定义的命名空间:可我这里使用了转换器可以理解为就是把执行动画的开关绑定到了我后端ViewModel的属性上。第二种实现方案使用 Style DataTrigger这种方法比较简单。写好样式和触发器TextBlock Grid.Row1 VerticalAlignmentCenter FontSize26 Text{Binding Message} TextWrappingWrap TextBlock.Style Style TargetTypeTextBlock !-- 默认不闪烁 -- Setter PropertyOpacity Value1 / Style.Triggers !-- 当 IsBlinking 为 true 时启动闪烁动画 -- DataTrigger Binding{Binding IsMessageBlinking} ValueTrue DataTrigger.EnterActions BeginStoryboard Storyboard DoubleAnimation AutoReverseTrue RepeatBehaviorForever Storyboard.TargetPropertyOpacity From1.0 To0.0 Duration0:0:0.5 / /Storyboard /BeginStoryboard /DataTrigger.EnterActions DataTrigger.ExitActions BeginStoryboard Storyboard DoubleAnimation Storyboard.TargetPropertyOpacity To1.0 Duration0:0:0.1 / /Storyboard /BeginStoryboard /DataTrigger.ExitActions /DataTrigger /Style.Triggers /Style /TextBlock.Style /TextBlock然后通过绑定的后端bool变量进行控制。DataTrigger Binding{Binding IsMessageBlinking} ValueTrue

相关新闻

RapidRAW v1.1.1 版本发布:AI 遮罩优化与跨平台兼容性提升

RapidRAW v1.1.1 版本发布:AI 遮罩优化与跨平台兼容性提升

RapidRAW v1.1.1 版本发布:AI 遮罩优化与跨平台兼容性提升 【免费下载链接】RapidRAW A beautiful, non-destructive, and GPU-accelerated RAW image editor built with performance in mind. 项目地址: https://gitcode.com/gh_mirrors/ra/RapidRAW RapidR…

2026/7/29 18:21:51 阅读更多 →
记录一次种牙:种之前最关心的5个问题

记录一次种牙:种之前最关心的5个问题

今年种了一颗牙。种之前最关心的5个问题,记录下来。第一个问题:疼不疼?打麻药那一下有一点点刺痛,几秒钟就过去了。手术过程不疼。术后有点胀。第二个问题:能用多久?医生说保养得当可以用几十年。第三个问题…

2026/7/29 18:21:51 阅读更多 →
Microsoft Agent Governance Toolkit:用确定性代码墙代替概率性提示词护栏

Microsoft Agent Governance Toolkit:用确定性代码墙代替概率性提示词护栏

Microsoft Agent Governance Toolkit:用确定性代码墙代替概率性提示词护栏 核心观点:这不是又一个 AI 安全 Wrapper AGT(Agent Governance Toolkit)于 2026 年 4 月由微软开源,定位是 AI Agent 的运行时安全治理基础…

2026/7/29 18:21:51 阅读更多 →

最新新闻

为什么win-acme成为Windows服务器SSL证书管理的终极选择?

为什么win-acme成为Windows服务器SSL证书管理的终极选择?

为什么win-acme成为Windows服务器SSL证书管理的终极选择? 【免费下载链接】win-acme Automate SSL/TLS certificates on Windows with ease 项目地址: https://gitcode.com/gh_mirrors/wi/win-acme 还在为Windows服务器上的SSL证书管理而烦恼吗?你…

2026/7/29 18:34:55 阅读更多 →
JTAG与IJTAG的区别与联系

JTAG与IJTAG的区别与联系

JTAG和IJTAG是电子设计与测试领域两个密切相关但目标和应用场景存在显著差异的工业标准。它们的关系和区别可以从多个维度进行深入分析。 1. 核心关系:演进与扩展 简单来说,IJTAG是JTAG标准在更高层次、更复杂场景下的演进和功能扩展。可以将JTAG视为基…

2026/7/29 18:34:55 阅读更多 →
Subtitle Edit:免费开源字幕编辑软件的终极使用指南

Subtitle Edit:免费开源字幕编辑软件的终极使用指南

Subtitle Edit:免费开源字幕编辑软件的终极使用指南 【免费下载链接】subtitleedit the subtitle editor :) 项目地址: https://gitcode.com/gh_mirrors/su/subtitleedit Subtitle Edit是一款功能强大且完全免费的开源字幕编辑软件,支持超过300种…

2026/7/29 18:34:55 阅读更多 →
2026年前端开发工程师转型AIAgent开发工程师全指南

2026年前端开发工程师转型AIAgent开发工程师全指南

前端已死,这个传说已经流传了不止5年,2026年可能它真的要升天了~ 2026年,随着大模型技术的成熟与落地,AI Agent(智能体)已成为继移动互联网之后的下一个超级风口。与此同时,传统前端开发工程师的…

2026/7/29 18:34:55 阅读更多 →
如何用bilibili-downloader轻松下载大会员专属4K视频?

如何用bilibili-downloader轻松下载大会员专属4K视频?

如何用bilibili-downloader轻松下载大会员专属4K视频? 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 你是否曾遇到过这样…

2026/7/29 18:34:55 阅读更多 →
【JVS更新日志】JVS-APS、JVS-SPC、JVS-BI、JVS低代码、JVS企业文档7.29更新说明!

【JVS更新日志】JVS-APS、JVS-SPC、JVS-BI、JVS低代码、JVS企业文档7.29更新说明!

项目介绍 JVS是企业级数字化服务构建的基础脚手架,主要解决企业信息化项目交付难、实施效率低、开发成本高的问题,采用微服务配置化的方式,提供了低代码数据分析物联网的核心能力产品,并构建了协同办公、企业常用的管理工具等&am…

2026/7/29 18:33:55 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻