【发布时间】:2011-04-12 08:43:31
【问题描述】:
我正在尝试使用数据绑定来更新我的进度条。 XAML 文件包含进度条:
<ProgressBar Height="23" Name="progressBar" VerticalAlignment="Bottom" Margin="207,444,0,0" Minimum="0" Maximum="{Binding ProgressBarMax}" Value="{Binding ProgressBarValue}" />
我的相关 C# 类包含 getter 和 setter:
private int progressBarMax;
public int ProgressBarMax
{
get
{
if (this.progressBarMax == 0)
this.progressBarMax = 1;
return this.progressBarMax;
}
set
{
this.progressBarMax = value;
}
}
private int progressBarValue;
public int ProgressBarValue
{
get
{
return progressBarValue;
}
set
{
progressBarValue = value;
}
}
在我的“更新”方法中,正在设置最大值。例如this.progressBarMax = 100;。在一个循环中,进度条的值是 += 1。为了查看我使用 Application.DoEvents() 的更新,稍后我将实现线程。数据绑定必须正确,因为我还有其他组件可以正常工作。
那么为什么我的进度条没有更新呢?
感谢您的帮助。
【问题讨论】:
-
“Application.DoEvents()”有什么作用?它不是标准的 WPF 函数。
-
我知道。正如我所说,它将很快被线程取代,但对于某些测试,它会在我的循环期间显示更改。
标签: c# .net data-binding progress-bar