WPF自定义控件与样式(11)-等待/忙/正在加载状态-控件实现

本文介绍了WPF中实现等待/忙/加载状态的三种控件:简单忙碌状态控件BusyBox、Win8/Win10风格的ProgressRing以及弹出异步等待框WaitingBox。详细讲解了其后台C#代码和样式设置,提供了示例和相关开源项目链接。
摘要由CSDN通过智能技术生成

一.前言

  申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接。

  本文主要有三种实现方式

  • 简单忙碌状态控件BusyBox;
  • Win8/win10效果忙碌状态控件ProgressRing;
  • 弹出异步等待框WaitingBox;

二.简单忙碌状态控件BusyBox

  效果图:

 

  通过属性"IsActive"控制控件是否启用,后台C#代码:  

    /// <summary>
    /// BusyBox.xaml 的交互逻辑
    /// </summary> public partial class BusyBox : UserControl { public static readonly DependencyProperty IsActiveProperty = DependencyProperty.Register("IsActive", typeof(bool), typeof(BusyBox), new PropertyMetadata(false)); /// <summary> /// 是否启用 /// </summary> public bool IsActive { get { return (bool)GetValue(IsActiveProperty); } set { SetValue(IsActiveProperty, value); } } static BusyBox() { DefaultStyleKeyProperty.OverrideMetadata(typeof(BusyBox), new FrameworkPropertyMetadata(typeof(BusyBox))); } }

  使用了一个字体图标,触发器中实现动画显示的控制,样式代码:  

    <Style TargetType="{x:Type local:BusyBox}"> <Setter Property="Foreground" Value="
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值