WPF实现在控件上显示Loading等待动画的方法详解.docx

WPF实现在控件上显示Loading等待动画的方法详解.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

WPF实现在控件上显示Loading等待动画的方法详解

WPF如何在控件上显示Loading等待动画

框架使用.NET40;VisualStudio2025;使用方式需引入命名空间后设置控件的附加属性wd:Loading.IsShow=true,即可显示默认等待动画效果如下:

如需自定义Loading一定要先设置wd:Loading.Child在设置IsShow=true。显示不同Loading内容需wd:Loading.Child={x:Staticwd:NormalLoading.Default}进行复赋值显示NormalLoading效果如下:

Github[2]

Githubxaml[3]

Gitee[4]

Giteexaml[5]

实现代码

也可以自定义Loading动画如下:

1、自定义控件CustomLoading。

public?class?CustomLoading?:?Control

????{

????????public?static?CustomLoading?Default?=?new?CustomLoading();

????????static?CustomLoading()

????????{

????????????DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomLoading),

????????????????new?FrameworkPropertyMetadata(typeof(CustomLoading)));

????????}

????}

2、编写CustomLoading.xaml代码如下。

StyleTargetType={x:Typecontrols:CustomLoading}

SetterProperty=WidthValue=40/

SetterProperty=HeightValue=40/

SetterProperty=Template

Setter.Value

ControlTemplateTargetType={x:Typecontrols:CustomLoading}

!--此处编写自定义的动画逻辑--

/ControlTemplate

/Setter.Value

/Setter

/Style

1)创建装饰AdornerContainer代码如下:

using?System.Windows;

using?System.Windows.Documents;

using?System.Windows.Media;

namespace?WPFDevelopers.Utilities

????public?class?AdornerContainer?:?Adorner

????{

????????private?UIElement?_child;

????????public?AdornerContainer(UIElement?adornedElement)?:?base(adornedElement)

????????{

????????}

????????public?UIElement?Child

????????{

????????????get?=?_child;

????????????set

????????????{

????????????????if?(value?==?null)

????????????????{

????????????????????RemoveVisualChild(_child);

????????????????????_child?=?value;

????????????????????return;

????????????????}

????????????????AddVisualChild(value);

????????????????_child?=?value;

????????????}

????????}

????????protected?override?int?VisualChildrenCount

????????{

????????????get

????????????{

????????????????return?_child?!=?null??1?:?0;

????????????}

????????}

????????protected?override?Size?

文档评论(0)

152****2468 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档