进度条在应用中的作用非常大,可以告诉用户当前操作执行的进度,以免用户在等待中失去耐心,进而关闭应 用.Windows Phone 7的进度条有两种样式,一种是从左往右循环滚动的小点点,这种进度条并不能显示当前进度,类似于Android进度条的转圈风格;另一种就是能显示进度的 普通进度条,两种样式效果如下图: 介绍一下这个实例,页面上三

  

  进度条在应用中的作用非常大,可以告诉用户当前操作执行的进度,以免用户在等待中失去耐心,进而关闭应用.Windows Phone 7的进度条有两种样式,一种是从左往右循环滚动的小点点,这种进度条并不能显示当前进度,类似于Android进度条的转圈风格;另一种就是能显示进度的 普通进度条,两种样式效果如下图:

  

  介绍一下这个实例,页面上三个控件,两个ProgressBar分别显示两种风格的进度条,一个按钮,用于开启新线程更新ProgressBar的进度,这里用于了委托,如有不明白,参考:

  几个控件的XAML代码:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" Background="{x:Null}">
            <ProgressBar Height="54" HorizontalAlignment="Left" 
Margin="17,27,0,0" Name="progressBar1" VerticalAlignment="Top" 
Width="390" IsIndeterminate="True" />
            <!--IsIndeterminate是关键,这个属性确定了ProgressBar的样式,默认是false,就是普通的能显示进度的进度条,true就是不能显示进度的进度条-->
            <ProgressBar Height="59" HorizontalAlignment="Left" 
Margin="31,107,0,0" Name="progressBar2" VerticalAlignment="Top" Width="374"  />
            <Button Content="更新progressBar2" Height="82" 
HorizontalAlignment="Left" Margin="63,199,0,0" Name="button1" 
VerticalAlignment="Top" Width="260" Click="button1_Click" />
        </Grid>

  C#程序代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using System.Threading;
 
namespace PhoneApp3
{
    public partial class MainPage : PhoneApplicationPage
    {
        delegate void ProgressDelegate(int i);
        //声明委托类型
        //委托的内容如有不明白,见http://www.pocketdigi.com/20110916/476.html 有详细注解
        ProgressDelegate progressDelegate;
        //声明委托
        public MainPage()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            progressDelegate = SetProgress;
            //把更新进度方法添加进委托
            new Thread(new ThreadStart(ThreadProc)).Start();
            //开启新线程
 
        }
        private void SetProgress(int i)
        {
            //这是更新进度条的方法
            progressBar2.Value = i;
            if (i == 100)
            {
                //如果达到100,则隐藏进度条
                progressBar2.Visibility = Visibility.Collapsed;
                //显示方法Visibility.Visibl
            }
        }
        private void ThreadProc()
        {//新线程执行的方法
            for (int i = 0; i <= 100; i++)
            {
                this.Dispatcher.BeginInvoke(progressDelegate,i);
                //线程中调用委托来更新UI,参数是委托,以及委托的参数
                Thread.Sleep(1000);
            }
 
        }
    }
}

转载于:https://www.cnblogs.com/songtzu/archive/2012/04/10/2439959.html

Windows Phone 7开发,进度条ProgressBar使用详解相关推荐

  1. Android进度条ProgressBar使用详解

    先介绍一下ProgressBar几种比较常用的属性 布局中设置: android:max="100" --最大显示进度 android:progress="50" ...

  2. python gui下载进度条_对python GUI实现完美进度条的示例详解

    在用python做一个gui界面时,想搞一个进度条实时显示下载进度,但查阅很多博客,最后的显示效果都类似下面这种: 这种效果在cmd界面看着还可以,但放到图形界面时就有点丑了,所以我用canvas重新 ...

  3. python动态显示进度条_实例详解python如何轻松实现动态进度条

    本次的这篇文章主要是和大家分享了关于实例详解python如何轻松实现动态进度条,有需要的小伙伴可以看一下 思路及讲解 假设有一个1000000数据的列表(为了让进度条可以显示出来,很大的数据),我们每 ...

  4. 微信小程序进度条样式_详解微信小程序——自定义圆形进度条

    微信小程序 自定义圆形进度条,具体如下: 无图无真相,先上图: 实现思路,先绘制底层的灰色圆圈背景,再绘制上层的蓝色进度条. 代码实现: JS代码: 页面初始化 options为页面跳转所带来的参数 ...

  5. Python进度条库tqdm详解

    tqdm模块是python进度条库, 主要分为两种运行模式 基于迭代对象运行: tqdm(iterator) importtimefromtqdmimporttqdm,trange#trange(i) ...

  6. ajax实现下载文件进度条及方法详解

    javascript使用ajax下载文件进度条实现 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml&qu ...

  7. Xamarin XAML语言教程构建进度条ProgressBar

    Xamarin XAML语言教程构建进度条ProgressBar Xamarin XAML语言教程构建进度条ProgressBar,ProgressBar被称为进度条,它类似于没有滑块的滑块控件.进度 ...

  8. 【鸿蒙 HarmonyOS】UI 组件 ( 进度条 ProgressBar 和 RoundProgressBar 组件 )

    文章目录 一.布局中设置 ProgressBar.RoundProgressBar 进度条 二.代码中设置 ProgressBar.RoundProgressBar 进度条 三.完整代码示例 四.Gi ...

  9. Android 各种自定义进度条Progressbar

    Android 自定义进度条 Progressbar 控件集合 关于我,欢迎关注 博客:ccapton(http://blog.csdn.net/ccapton) 微信:Ccapton Github ...

最新文章

  1. 数据库知识点2——关系模型之基本概念
  2. 微信8年,干掉了短信也杀死了媒体?
  3. python操作excel-openpyxl(1)
  4. Linux(centos7)安装nginx并配置代理
  5. 2018-08-15期 HBase命令行使用案例
  6. 高性能JavaScript DOM编程
  7. 数据湖探索DLI新功能:基于openLooKeng的交互式分析
  8. 原生js、jq移入移出事件
  9. 使用 WebSphere Portlet Factory 构建基于 Web2.0 的灵活 SOA 前端
  10. continue 的理解
  11. win10系统的电脑如何录屏?QVE录屏大师使用教程?
  12. 【源码部署】Linux环境下编译snort
  13. 服务器安全,服务器密码遭篡改
  14. CSS效率---常用CSS框架
  15. 监控工具Zabbix之原理及部署
  16. oracle count 1 count 区别,Count(1)和count(*)区别
  17. 惠普HP Deskjet F4238 多功能一体机驱动
  18. buu-[WUSTCTF2020]level3
  19. win10怎么设置护眼背景
  20. 如何搭建属于自己的腾讯云服务器

热门文章

  1. BootStrapStudio文档阅读笔记-Getting Started Guide解析
  2. Java笔记-获取自己资源文件中的配置文件(打包成jar包为其他包所引用也能获取)
  3. vue学生作业-图书管理系统
  4. vue 刷新echarts_在vue.js中使用echarts,数据动态刷新
  5. curl post 日志_curl命令发送Post请求
  6. blast2go mysql_Blast2go本地化教程
  7. C语言实现去掉字符串中指定的字符
  8. android opengl es 粒子效果实例代码
  9. Linux 中的零拷贝技术
  10. 处理大并发之五 使用libevent利器bufferevent