读书人

WPF界面刷新有关问题

发布时间: 2012-12-22 12:05:07 作者: rapoo

WPF界面刷新问题
我在WPF程序中添加了一个进度条控件。

我想在函数运行时动态的更新进度条的数值。

可是每次都是等函数运行完了然后显示出最后更新结果。

怎样让进度条中属性在复制后立即更新显示??
[最优解释]
http://msdn.microsoft.com/zh-cn/library/ms771729.aspx
[其他解释]
WPF 应该也是用多线程吧,
新开一个线程处理业务逻辑,然后在过程中updte主线程的UI。大概思路是这样,你搜搜多线程操作。


[其他解释]
关于BeginInvoke(DispatcherPriority, Delegate)这个调用,就是把更新UI的函数附近去是吧?可是那个是WPF窗口更新UI的函数啊? 好像没有Update或是Invali之类的?
[其他解释]

引用:
关于BeginInvoke(DispatcherPriority, Delegate)这个调用,就是把更新UI的函数附近去是吧?可是那个是WPF窗口更新UI的函数啊? 好像没有Update或是Invali之类的?


.Dispatcher.Invoke
[其他解释]
更新界面的函数是哪个?? 改变的状态,不知道怎么更新,比如我把控件的透明度改成0.8(processBar.Opacity = 0.8;),之后调用哪个函数更新界面? (用委托修改属性,Invoke后还是没有更新)
[其他解释]
方法找到了,谢谢大家,委托调用下面这段中的DoEvent就可以了:
public partial class App : Application
{
private static DispatcherOperat
ionCallback exitFrameCallback =
new DispatcherOperationCallback(ExitFrame);
public static void DoEvents()
{
DispatcherFrame nestedFrame =
new DispatcherFrame();
DispatcherOperation exitOperation =
Dispatcher.CurrentDispatcher.BeginInvoke
(DispatcherPriority.Background,
exitFrameCallback, nestedFrame);
Dispatcher.PushFrame(nestedFrame);
if (exitOperation.Status !=
DispatcherOperationStatus.Completed)
{
exitOperation.Abort();
}
}
private static Object ExitFrame
(Object state)
{
DispatcherFrame frame = state as
DispatcherFrame;
frame.Continue = false;
return null;
}
}

[其他解释]
现在也遇到这样的问题,急需解决。。。。。

读书人网 >.NET

热点推荐