今天研究了一下wpf的进度条ProgressBar
1.传统ProgressBar
WPF进度条ProgressBar 这个控件,如果直接写到循环里,会死掉,界面会卡死,不会有进度。需要把进度条放到单独的线程中。
传统的需要建立 Thread 或者使用 Timer,分别写在不同的方法中。但现在,使用 Dispatcher.Invoke 调用可以实现这个目的。
for (int i = 0; i <= 10000; i++)
{
double value = i * 100.0 / 10000;
lbShow.Content = "总大小:" + 10000 + ",已导入:" + i;
pbBar.Dispatcher.Invoke(new Action<System.Windows.DependencyProperty, object>(pbBar.SetValue), System.Windows.Threading.DispatcherPriority.Background, ProgressBar.ValueProperty, value);
}
pbBar是ProgressBar的名称。下图是传统进度条显示的效果。
aaarticlea/png;base64,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" alt="" width="300" height="260" />
传统的进度条看着比价简单,没有高大上的感觉。所以一般很少受到广大人民的喜好。
2.圆形进度条(这是借鉴了网上一位网友的,如侵犯到版权,请给我留言)
圆形进度条,如下图,同样是用ProgressBar控件,但感觉就会不一样
aaarticlea/png;base64,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*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" alt="" />
要显示这个效果,首先要编写一个类,这里编写的类是ValueToProcessConverter.cs类,源码是
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Data;
using System.Windows.Media; namespace WpfSqlHelp
{
class ValueToProcessConverter : IValueConverter
{
private const double Thickness = ;
private const double Padding = ;
private const double WarnValue = ;
private const int SuccessRateFontSize = ;
private static readonly SolidColorBrush NormalBrush;
private static readonly SolidColorBrush WarnBrush;
private static readonly Typeface SuccessRateTypeface; private string percentString;
private Point centerPoint;
private double radius; static ValueToProcessConverter()
{
NormalBrush = new SolidColorBrush(Colors.Green);
WarnBrush = new SolidColorBrush(Colors.Red);
SuccessRateTypeface = new Typeface(new FontFamily("MSYH"), new FontStyle(), new FontWeight(), new FontStretch());
} public ValueToProcessConverter()
{ } public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is double && !string.IsNullOrEmpty((string)parameter)) {
double arg = (double)value;
double width = double.Parse((string)parameter);
radius = width / ;
centerPoint = new Point(radius, radius); return DrawBrush(arg, , radius, radius, Thickness, Padding);
} else {
throw new ArgumentException();
}
} public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
} /// <summary>
/// 根据角度获取坐标
/// </summary>
/// <param name="CenterPoint"></param>
/// <param name="r"></param>
/// <param name="angel"></param>
/// <returns></returns>
private Point GetPointByAngel(Point CenterPoint, double r, double angel)
{
Point p = new Point();
p.X = Math.Sin(angel * Math.PI / ) * r + CenterPoint.X;
p.Y = CenterPoint.Y - Math.Cos(angel * Math.PI / ) * r; return p;
} /// <summary>
/// 根据4个坐标画出扇形
/// </summary>
/// <param name="bigFirstPoint"></param>
/// <param name="bigSecondPoint"></param>
/// <param name="smallFirstPoint"></param>
/// <param name="smallSecondPoint"></param>
/// <param name="bigRadius"></param>
/// <param name="smallRadius"></param>
/// <param name="isLargeArc"></param>
/// <returns></returns>
private Geometry DrawingArcGeometry(Point bigFirstPoint, Point bigSecondPoint, Point smallFirstPoint, Point smallSecondPoint, double bigRadius, double smallRadius, bool isLargeArc)
{
PathFigure pathFigure = new PathFigure { IsClosed = true };
pathFigure.StartPoint = bigFirstPoint;
pathFigure.Segments.Add(
new ArcSegment {
Point = bigSecondPoint,
IsLargeArc = isLargeArc,
Size = new Size(bigRadius, bigRadius),
SweepDirection = SweepDirection.Clockwise
});
pathFigure.Segments.Add(new LineSegment { Point = smallSecondPoint });
pathFigure.Segments.Add(
new ArcSegment {
Point = smallFirstPoint,
IsLargeArc = isLargeArc,
Size = new Size(smallRadius, smallRadius),
SweepDirection = SweepDirection.Counterclockwise
});
PathGeometry pathGeometry = new PathGeometry();
pathGeometry.Figures.Add(pathFigure); return pathGeometry;
} /// <summary>
/// 根据当前值和最大值获取扇形
/// </summary>
/// <param name="value"></param>
/// <param name="maxValue"></param>
/// <returns></returns>
private Geometry GetGeometry(double value, double maxValue, double radiusX, double radiusY, double thickness, double padding)
{
bool isLargeArc = false;
double percent = value / maxValue;
percentString = string.Format("{0}%", Math.Round(percent * ));
double angel = percent * 360D;
if (angel > ) isLargeArc = true;
double bigR = radiusX;
double smallR = radiusX - thickness + padding;
Point firstpoint = GetPointByAngel(centerPoint, bigR, );
Point secondpoint = GetPointByAngel(centerPoint, bigR, angel);
Point thirdpoint = GetPointByAngel(centerPoint, smallR, );
Point fourpoint = GetPointByAngel(centerPoint, smallR, angel);
return DrawingArcGeometry(firstpoint, secondpoint, thirdpoint, fourpoint, bigR, smallR, isLargeArc);
} private void DrawingGeometry(DrawingContext drawingContext, double value, double maxValue, double radiusX, double radiusY, double thickness, double padding)
{
if (value != maxValue) {
SolidColorBrush brush;
if (value < WarnValue) {
brush = WarnBrush;
} else {
brush = NormalBrush;
}
drawingContext.DrawEllipse(null, new Pen(new SolidColorBrush(Color.FromRgb(0xdd, 0xdf, 0xe1)), thickness), centerPoint, radiusX, radiusY);
drawingContext.DrawGeometry(brush, new Pen(), GetGeometry(value, maxValue, radiusX, radiusY, thickness, padding));
FormattedText formatWords = new FormattedText(percentString,
CultureInfo.CurrentCulture,
FlowDirection.LeftToRight,
SuccessRateTypeface,
SuccessRateFontSize,
brush);
Point startPoint = new Point(centerPoint.X - formatWords.Width / , centerPoint.Y - formatWords.Height / );
drawingContext.DrawText(formatWords, startPoint);
} else {
drawingContext.DrawEllipse(null, new Pen(NormalBrush, thickness), centerPoint, radiusX, radiusY);
FormattedText formatWords = new FormattedText("100%",
CultureInfo.CurrentCulture,
FlowDirection.LeftToRight,
SuccessRateTypeface,
SuccessRateFontSize,
NormalBrush);
Point startPoint = new Point(centerPoint.X - formatWords.Width / , centerPoint.Y - formatWords.Height / );
drawingContext.DrawText(formatWords, startPoint);
} drawingContext.Close();
} /// <summary>
/// 根据当前值和最大值画出进度条
/// </summary>
/// <param name="value"></param>
/// <param name="maxValue"></param>
/// <returns></returns>
private Visual DrawShape(double value, double maxValue, double radiusX, double radiusY, double thickness, double padding)
{
DrawingVisual drawingWordsVisual = new DrawingVisual();
DrawingContext drawingContext = drawingWordsVisual.RenderOpen(); DrawingGeometry(drawingContext, value, maxValue, radiusX, radiusY, thickness, padding); return drawingWordsVisual;
} /// <summary>
/// 根据当前值和最大值画出进度条
/// </summary>
/// <param name="value"></param>
/// <param name="maxValue"></param>
/// <returns></returns>
private Brush DrawBrush(double value, double maxValue, double radiusX, double radiusY, double thickness, double padding)
{
DrawingGroup drawingGroup = new DrawingGroup();
DrawingContext drawingContext = drawingGroup.Open(); DrawingGeometry(drawingContext, value, maxValue, radiusX, radiusY, thickness, padding); DrawingBrush brush = new DrawingBrush(drawingGroup); return brush;
} }
}
ValueToProcessConverter.cs源码
其次要在相应wpf窗体上做相应修改
(1)在窗体上的xaml代码为
<Window x:Class="WpfSqlHelp.TelNumWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfSqlHelp"
Title="TelNumWindow" Height="300" Width="300">
<Window.Resources>
<local:ValueToProcessConverter x:Key="ValueToProcessConverter"/>
</Window.Resources>
<Grid>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition Height="30"></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Button Name="btnInput" Content="数据导入" HorizontalAlignment="Left" Margin="77,5,0,0" VerticalAlignment="Top" Width="75" Click="btnInput_Click"/>
<Label Name="lbShow" Grid.Row="1" HorizontalAlignment="Left" Margin="38,5,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.375,0.3"/>
<ProgressBar Name="pbBar" Grid.Row="2" Minimum="0"
Maximum="100"
Value="{Binding SuccessRate, Mode=OneWay}">
<ProgressBar.Template>
<ControlTemplate TargetType="ProgressBar">
<Border Background="{TemplateBinding Value, Converter={StaticResource ValueToProcessConverter}, ConverterParameter=200}"/>
</ControlTemplate>
</ProgressBar.Template>
</ProgressBar>
</Grid>
</Grid>
</Window>
红色标注的是需要注意修改的地方。
(2)在代码中的编写为
namespace WpfSqlHelp
{
/// <summary>
/// TelNumWindow.xaml 的交互逻辑
/// </summary>
public partial class TelNumWindow : Window, INotifyPropertyChanged
{
public TelNumWindow()
{
InitializeComponent();
}
private void btnInput_Click(object sender, RoutedEventArgs e)
{
for (int i = 0; i <= 10000; i++)
{
double value = i * 100.0 / 10000;
lbShow.Content = "总大小:" + 10000 + ",已导入:" + i;
pbBar.Dispatcher.Invoke(new Action<System.Windows.DependencyProperty, object>(pbBar.SetValue), System.Windows.Threading.DispatcherPriority.Background, ProgressBar.ValueProperty, value);
}
}
#region INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
#endregion
}
}
如果这些都搞好,运行你就会看到圆形进度条。