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>
<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>
相关文章推荐
- Hibernate的QBC居然不支持HQL
- Silverlight渲染元素的位置效果
- 第一个Sprint冲刺第三天
- HTML5 拖拽实现
- 为背景添加圆角边框
- 数据库课堂笔记
- Silverlight打造特效工具栏
- 【转】Java中equals和==的区别
- 纯虚函数
- 【机房重构】组合查询—存储过程
- 奇数性之谜
- Bash 的 no-fork 优化
- ubuntu14.04安装prime切换intel、nvidia显卡
- Linux内核工程导论–网络:TCP连接
- C++ 构造过程和析构过程
- [GDUT]1060: 跟XxX_Stu 玩游戏(很简单题目)
- Robocup3d
- 转:大型网站架构学习笔记
- UIKit - scrollView缩放、滚动
- lintcode :Coins in Line II 硬币排成线 II