WPF:小功能Loading...正在加载中

效果图

在这里插入图片描述

代码

.xaml前端

 	     <Image x:Name="run_image" Source="/CableMonitor;component/Images/MainInterface\第三次图标修改及添加\雷达盲区绘制图/加载2.png" Stretch="UniformToFill" Margin="0,0,115,0" Width="43" Height="28" HorizontalAlignment="Right" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" >
        </Image>
        <Label Name="run_text" Content="正在加载,请稍后……" Margin="0,0,0,0" HorizontalAlignment="Right"/>

.xaml.cs后台

//在加载方法
	  //图片转动
      DoubleAnimation da = new DoubleAnimation();
      da.From = 0;
      da.To = 360;
      da.Duration = new Duration(TimeSpan.FromSeconds(3));
      da.RepeatBehavior = RepeatBehavior.Forever;
      RotateTransform rt = new RotateTransform();
      run_image.RenderTransform = rt;
      //rt.BeginAnimation(RotateTransform.AngleProperty, da);
//在加载方法 或者该页面中的新Thread(thSearch = new Thread(new ThreadStart(LoadCable)); thSearch.Start();)LoadCable方法里
	//委托 调用开始图片转动
			this.Dispatcher.Invoke(() =>
            {
                rt.BeginAnimation(RotateTransform.AngleProperty, da);
            });

	//加载完毕后,进度条隐藏
 			this.Dispatcher.Invoke(() =>
            {
                run_image.Visibility = Visibility.Collapsed;
                run_text.Visibility = Visibility.Collapsed;
            });
//点击该页面功能后卡住,重新加载进度条
		//异步 再次显示Loading
			await Task.Run(() =>
            {
                this.Dispatcher.Invoke(() =>
                {
                    run_image.Visibility = Visibility.Visible;
                    run_text.Visibility = Visibility.Visible;
                });
              //加载完毕后,Loading消失
              this.Dispatcher.Invoke(() =>
                {
                    run_image.Visibility = Visibility.Collapsed;
                    run_text.Visibility = Visibility.Collapsed;
                });
                
             });

注意

根据情况,比如我的程序是开始太慢需要加载一次,加载完事后需要“正在加载,请稍后……”消失;
然后,该页面点击其他功能时卡住,需要继续在加载一次,该“正在加载,请稍后……”又重新出现,同理,当该功能加载完毕后,此进度条就消失即可;

这里根据我的程序情况,前面会分开写,同时运用到异步和委托,防止该进度条跟你加载内容同时卡住

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值