| 
 | 
	
 
 
  在Windows 8中的默认进度条也与时俱进,和之前Silverlight中的不一样。本文将讲述三种不同的进度条,另外在本文中也会将两种定时器。 
  进度条 
    主要属性: 
      Value:当前进度值。 
      Maximum:最大进度值。 
      IsIndeterminate:指定进度条是否确定。 
  确定进度条:进度明确的进度条,已完成进度以另外一种颜色显示 
  关键代码: 
 
 
 
   
   
  不确定进度条:进度不明确的进度条,不可预知当前进度 
  关键代码: 
 
 
 
  
   
  不确定进度环:进度不明确的进度环,不可预知当前进度 
  关键代码: 
 
 
 
    
   
  定时器 
  延迟定时器:只运行一次,延迟X毫秒运行的定时器。 
  关键代码: 
 
 
 
       private void Button_Click_1(object sender, RoutedEventArgs e) 
{ 
DelayTimer(); 
} 
///  
/// 延迟定时器 
///  
private void DelayTimer() 
{ 
//设置延迟定时器 
ThreadPoolTimer tptimer = ThreadPoolTimer.CreateTimer(async (timer) => 
{ 
await Dispatcher.RunAsync( 
CoreDispatcherPriority.High, () => 
{ 
this.probar1.Value += 20; 
}); 
}, TimeSpan.FromMilliseconds(3000)); 
} 
  循环定时器:循环运行N次,每次延迟X毫秒的定时器。 
  关键代码: 
 
 
 
        private void Button_Click_2(object sender, RoutedEventArgs e) 
{ 
PeriodicTimer(); 
} 
///  
/// 循环定时器 
///  
private void PeriodicTimer() 
{ 
//循环定时器 
ThreadPoolTimer tptimer = ThreadPoolTimer.CreatePeriodicTimer( 
async (timer) => 
{ 
await Dispatcher.RunAsync( 
CoreDispatcherPriority.High, () => 
{ 
this.probar1.Value = this.probar1.Value + 1; 
}); 
}, 
TimeSpan.FromMilliseconds(100)); 
} 
  最后我们来看运行效果图和如需源码请点击Win8Progress.rar下载。 
 
 |   
 
 
 
 | 
  
 |