通过使用Visual Studio单元测试框架,您无需自己初始化Dispatcher。完全正确,调度程序不会自动处理其队列。
您可以编写一个简单的帮助程序方法“ DispatcherUtil.DoEvents()”,该方法告诉Dispatcher处理其队列。
C#代码:
public static class DispatcherUtil{ [SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)] public static void DoEvents() { Dispatcherframe frame = new Dispatcherframe(); Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, new DispatcherOperationCallback(Exitframe), frame); Dispatcher.Pushframe(frame); } private static object Exitframe(object frame) { ((Dispatcherframe)frame).Continue = false; return null; }}您也可以在 WPF应用程序框架(WAF)中 找到此类。



