WPF中自定义漂亮的进度条

原创|其它|编辑:郝浩|2010-01-26 10:42:28.000|阅读 5033 次

概述:wpf中自带的进度条是这个样子德。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

wpf中自带的进度条是这个样子德。

 

在2003中这个进度条的样子就会变得非常难看。

在wpf中您可以自己制作任意样式的进度条。如下图:

 

UserControl.xaml

 

用户控件
<Grid x:Name="LayoutRoot" Background="Transparent"
HorizontalAlignment
="Center" VerticalAlignment="Center">

<Grid.RenderTransform>

<ScaleTransform x:Name="SpinnerScale"
ScaleX
="1.0" ScaleY="1.0" />

</Grid.RenderTransform>

<Canvas RenderTransformOrigin="0.5,0.5"
HorizontalAlignment
="Center"
VerticalAlignment
="Center"
Width
="120" Height="120" >

<Ellipse Width="21.835" Height="21.862"
Canvas.Left
="20.1696"
Canvas.Top
="9.76358"
Stretch
="Fill" Fill="Orange"
Opacity
="1.0"/>

<Ellipse Width="21.835" Height="21.862"
Canvas.Left
="2.86816"
Canvas.Top
="29.9581" Stretch="Fill"
Fill
="Black" Opacity="0.9"/>

<Ellipse Width="21.835" Height="21.862"
Canvas.Left
="5.03758e-006"
Canvas.Top
="57.9341" Stretch="Fill"
Fill
="Black" Opacity="0.8"/>

<Ellipse Width="21.835" Height="21.862"
Canvas.Left
="12.1203"
Canvas.Top
="83.3163" Stretch="Fill"
Fill
="Black" Opacity="0.7"/>

<Ellipse Width="21.835" Height="21.862"
Canvas.Left
="36.5459"
Canvas.Top
="98.138" Stretch="Fill"
Fill
="Black" Opacity="0.6"/>

<Ellipse Width="21.835" Height="21.862"
Canvas.Left
="64.6723"
Canvas.Top
="96.8411" Stretch="Fill"
Fill
="Black" Opacity="0.5"/>

<Ellipse Width="21.835" Height="21.862"
Canvas.Left
="87.6176"
Canvas.Top
="81.2783" Stretch="Fill"
Fill
="Black" Opacity="0.4"/>

<Ellipse Width="21.835" Height="21.862"
Canvas.Left
="98.165"
Canvas.Top
="54.414" Stretch="Fill"
Fill
="Black" Opacity="0.3"/>

<Ellipse Width="21.835" Height="21.862"
Canvas.Left
="92.9838"
Canvas.Top
="26.9938" Stretch="Fill"
Fill
="Black" Opacity="0.2"/>

<Ellipse Width="21.835" Height="21.862"
Canvas.Left
="47.2783"
Canvas.Top
="0.5" Stretch="Fill"
Fill
="Black" Opacity="0.1"/>

<Canvas.RenderTransform>

<RotateTransform x:Name="SpinnerRotate"
Angle
="0" />

</Canvas.RenderTransform>

<Canvas.Triggers>

<EventTrigger RoutedEvent="ContentControl.Loaded">

<BeginStoryboard>

<Storyboard>

<DoubleAnimation
Storyboard.TargetName
="SpinnerRotate"
Storyboard.TargetProperty
="(RotateTransform.Angle)"
From
="0" To="360"
Duration
="0:0:01"
RepeatBehavior
="Forever" />

</Storyboard>

</BeginStoryboard>

</EventTrigger>

</Canvas.Triggers>

</Canvas>

</Grid>

 

 

UserControl.xaml.cs

 

后台代码
public UserControl1()
{
InitializeComponent();

Timeline.DesiredFrameRateProperty.OverrideMetadata(
typeof(Timeline),
new FrameworkPropertyMetadata { DefaultValue = 20 });
}

 

 

程序中添加对此用户控件的命名空间

    <Grid>
        <local:UserControl1></local:UserControl1>
    </Grid>

一个完整的人生应该是宽恕、容忍、等待和爱!

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP