您的位置:首页 > 其它

Silverlight ProgressBar使用方法

2015-11-13 21:45 429 查看
下面的代码告诉你怎么在XAML里面声明一个 ProgressBar :

<ProgressBar Foreground="White" Background="Gray" Value="25" Maximum="100" Width="200" Height="20" Margin="20">

先来看下ProgressBar里面,我们用到的每一个属性:

Foreground – ProgressBar的进度条色

Background – 控件背景色

Value – ProgressBar的开始值

Maximum – ProgressBar的结束值

Width/Height – ProgressBar的宽高

Margin – 控件和它的父容器之间的间隙。用 Margin 比用 Canvas.Left 和 Canvas.Top 舒服。

添加一个 timer ,让你的 progress bar 走到它的最大值:

namespace Password

{

public partial class Page : UserControl

{

Storyboard _timer = new Storyboard();

public Page()

{

InitializeComponent();

_timer.Duration = TimeSpan.FromMilliseconds(10);

_timer.Completed += new EventHandler(_timer_Completed);

_timer.Begin();

}

void _timer_Completed(object sender, EventArgs e)

{

if (MyProgress.Value < MyProgress.Maximum)

{

MyProgress.Value++;

_timer.Begin();

}

}

}

}

当你运行这个控件的时候,你就能看到它从25开始,走到最大值:



如果你不想使用 timer 想让 progress bar 不断重复的话,你可以设置属性 IsDeterminate 为 “true”:

<ProgressBar IsIndeterminate="True"/>

你还能自定义你的 ProgressBar ,通过设定 Background 和 Foreground 为各种可用的刷子:

Brush

GradientBrush

LinearBrush

Imagebrush

LinearGradientBrush

RadialGradientBrush

SolidColorBrush

下面是一个 ImageBrush 的例子:

<ProgressBar Value="25" x:Name="MyProgress" Maximum="100" Width="300" Height="50" Margin="20">

<ProgressBar.Foreground>

<ImageBrush ImageSource="Smile.png"></ImageBrush>

</ProgressBar.Foreground>

</ProgressBar>



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: