WPF控件有个不方便的地方就是不能使用refresh更新数据,只能使用数据绑定的形式,progressbar中更新更是复杂,需要调用到线程。
在网上找了许久终于找到不需要用线程操作实现的方法了,代码如下:
private delegate void UpdateDelegate(System.Windows.DependencyProperty dp, Object value);
private UpdateDelegate m_update = new UpdateDelegate(pBar.SetValue);;
public void function()
{
while (条件)
{
if (条件)
{
Dispatcher.Invoke(m_update, System.Windows.Threading.DispatcherPriority.Background, new object[] { System.Windows.Controls.ProgressBar.ValueProperty, Convert.ToDouble(value值) });
}
}
参考了http://blog.csdn.net/hjm2046/article/details/6690689#comments 博客上的代码,感谢楼主解决我的难题,同时自己备份,以备不时之需,或者给更多的人使用