WPF processbar样式

效果:黑色是背景。

下载

源码贴出来。资源分默认5分了,csdn太...

    <Window.Resources>
        <Color x:Key="WhiteColor">#ffffff</Color>
        <Color x:Key="NormalColor">#72ABD5</Color>
        <LinearGradientBrush x:Key="LGBrush" StartPoint="0,0.5" EndPoint="1,0.5">
            <GradientStop Color="{StaticResource NormalColor}" Offset="0"/>
            <GradientStop Color="{StaticResource WhiteColor}" Offset="0.5"/>
            <GradientStop Color="{StaticResource NormalColor}" Offset="1"/>
        </LinearGradientBrush>
        
        <SolidColorBrush x:Key="ProgressBar.Progress" Color="#FF06B025"/>
        <SolidColorBrush x:Key="ProgressBar.Background" Color="White"/>
        <SolidColorBrush x:Key="ProgressBar.Border" Color="White"/>
        <Style x:Key="ProgressBarStyle1" TargetType="{x:Type ProgressBar}">
            <Setter Property="Foreground" Value="{StaticResource ProgressBar.Progress}"/>
            <Setter Property="Background" Value="{StaticResource ProgressBar.Background}"/>
            <Setter Property="BorderBrush" Value="{StaticResource ProgressBar.Border}"/>
            <Setter Property="BorderThickness" Value="0" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type ProgressBar}">
                        <Grid SnapsToDevicePixels="True" x:Name="TemplateRoot">                            
                            <Border SnapsToDevicePixels="True" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}"/>
                            <Rectangle SnapsToDevicePixels="True" x:Name="PART_Track"/>
                            <Border Background="#72ABD5" SnapsToDevicePixels="True" Margin="2"/>
                            <Grid x:Name="PART_Indicator" Margin="2" ClipToBounds="true" HorizontalAlignment="Left">
                                <Grid.Triggers>
                                <EventTrigger RoutedEvent="Loaded">
                                    <BeginStoryboard>
                                        <Storyboard>
                                            <DoubleAnimation Storyboard.TargetName="border" 
					Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[1].(GradientStop.Offset)"
					BeginTime="00:00:00" Duration="00:00:3" From="0" To="1" RepeatBehavior="Forever"/>
                                        </Storyboard>
                                    </BeginStoryboard>
                                </EventTrigger>
                            </Grid.Triggers>
                                <Rectangle x:Name="Indicator" Fill="{TemplateBinding Foreground}"/>
                                <Border x:Name="border" Background="{StaticResource LGBrush}" RenderTransformOrigin="0.5,0.5"/>
                            </Grid>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="Orientation" Value="Vertical">
                                <Setter Property="LayoutTransform" TargetName="TemplateRoot">
                                    <Setter.Value>
                                        <RotateTransform Angle="-90"/>
                                    </Setter.Value>
                                </Setter>
                            </Trigger>
                            <Trigger Property="IsIndeterminate" Value="true">
                                <Setter Property="Visibility" TargetName="Indicator" Value="Collapsed"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
        <Style x:Key="FocusVisual">
            <Setter Property="Control.Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
        
    </Window.Resources>
    <Grid>
        <ProgressBar x:Name="progressBar" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" Width="960" 
                     Height="45"  OverridesDefaultStyle="True" RenderTransformOrigin="0.5,0.5"
                     Value="50" Style="{DynamicResource ProgressBarStyle1}" />
    </Grid>

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值