我提到 WPF 中没有标准的忙控制。那么显示动画忙碌圈(不是进度条)的最简单方法是什么,例如您的浏览器在加载页面时显示?
如果您建议从 Internet 下载控件,请确保此控件是免费的并且没有许可证限制(例如,如果我使用它,我将被迫 GPL 我的应用程序)。
先感谢您
我提到 WPF 中没有标准的忙控制。那么显示动画忙碌圈(不是进度条)的最简单方法是什么,例如您的浏览器在加载页面时显示?
如果您建议从 Internet 下载控件,请确保此控件是免费的并且没有许可证限制(例如,如果我使用它,我将被迫 GPL 我的应用程序)。
先感谢您
还有 Sacha Barber 的圆形进度条。它在 Code Project Open License 下获得许可。
您还可以使用动画 gif,例如比较此站点:http ://www.loadinfo.net/ 。为您生成不同的颜色、形式、每秒帧数、透明背景。
然后添加WPF 动画 GIF作为对项目的引用。
制作一个用户控件<Image gif:ImageBehavior.AnimatedSource="Images/animated.gif" />
作为其内容,并为用户控件提供一个依赖属性(DP)IsBusy
,并回调用户控件中的方法:
`public static readonly DependencyProperty IsBusyProperty = DependencyProperty.Register("IsBusy", typeof(bool), typeof(SpinProgress), new FrameworkPropertyMetadata(new PropertyChangedCallback(OnIsBusyChangedCallBack)));`
在此方法中,Play()
可以执行动画 gif 和“Pause()”方法。
将用户控件的属性绑定IsBusy
到视图模型。
或者 - 在适当的时候 - 忽略 DP 和Play()
andPause()
方法并将Visibility
属性绑定到视图模型。
您可以在应用程序繁忙时实现处理轮。虽然 WPF 不支持任何 GIF 图像,所以你必须为此使用动画。下面是 FrameAnimation 旋转轮的一个很好的链接。
http://www.codeproject.com/Articles/29545/FrameBasedAnimation-Animating-multiple-properties
我最近上传了一个到 codeplex。它允许您自定义它(即使在运行时)。你可以从这里下载。示例演示也已上传。
我最近实现了一个看起来像 iPhone 忙碌指示器,解释在这里。