WPF中的连续进度条?

3
在winforms中,我们有一个称为“continuous”的属性,它会显示进度条从0到100的过程。
我在WPF中寻找相同的效果,但是我搜索到的只是将IsIndeterminate更改为true,这并没有给我连续的效果,只是让进度条的一部分奇怪地走来走去。
为了展示我所说的问题,下面的图片代表了我想要的连续效果: Ilustrative example 回到问题,我该如何在WPF中实现这个效果?

我不明白……这不是 ProgressBar 默认的行为吗,而不需要设置 IsIndeterminate 吗?此外,连续的进度条就是一种不确定的进度条。也许可以查看这个 Windows UX 指南以获取更多有关确定性和不确定性的信息。 - BoltClock
@BoltClock 部分正确,但它是按块划分的,而不是连续的。 - Prix
看起来你正在使用Windows XP或者Vista/7的经典主题。 - BoltClock
@BoltClock 是的,Windows XP和CodeNaked通过更改主题来解决了这个问题。谢谢。 - Prix
“进度条的一部分四处移动的奇怪效果”?这是惯例。 - EvAlex
3个回答

3
WPF进度条没有“连续”选项。如果您使用XP或Luna主题,则会出现分段外观。 这个问题描述了如何应用Aero主题,否则您需要重新设计进度条。

0

你需要将进度条的IsIndeterminate属性设置为false

var progress = new ProgressBar { Height = 50, Width = 300,  
                                 IsIndeterminate = false
                               };

我用了那种方式,而且按预期运行。 你是否在更新Value属性?

更新: 我认为我知道你的问题是什么:WPF控件在XP和Windows 7中呈现不同。 在Windows 7中,它可以按你想要的方式工作,但在XP中,它会使用块。

你看到的是这样的:

enter image description here 而不是你想要的:


Markust 不会产生连续效果,而是分段效果。 - Prix

0

这个进度条是如何实现连续的?

IsIndeterminate有什么问题吗?你所描述的“进度条的一部分在四处移动”最适合于没有明确结束的进度条,如果你有一个填满的进度条,用户会期望当进度条完全填满时操作已经完成,如果它只是重新开始,那可能会非常烦人。


因为我希望它代表一个生命值条,不能在其上行走 :) 这就是为什么我需要连续的。 - Prix
从其他答案中可以清楚地看出,这是一个样式问题,在Aero主题下默认情况下它看起来是连续的。 - H.B.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接