10得票3回答
Application.Current.Shutdown()与Application.Current.Dispatcher.BeginInvokeShutdown()的区别

首先,我有一个WPF应用程序,它是一个GUI前端,与遗留的Win32应用程序进行交互。遗留应用程序在单独的线程中作为DLL运行。用户在UI中选择的命令在“遗留线程”上调用。 如果“遗留线程”完成,GUI前端就不能再执行任何有用的操作,因此我需要关闭WPF应用程序。因此,在线程方法结束时,我调...

10得票2回答
将FixedDocument保存为XPS文件会导致内存泄漏。

我创建了一个 .NET Windows 服务,执行某些操作并生成报告。这些报告是 XPS 文档,我将它们保存在特定的目录中。 由于熟悉 WPF,我选择了实例化 System.Windows.Documents.FixedDocument,并根据需要添加带有内容的 FixedPage 对象来创建...

9得票2回答
在单元测试中正确使用WPF调度程序的方法

我将尝试遵循如何在单元测试中使用WPF Dispatcher建议,以便让我的nUnit测试运行。 当我以以下方式编写我的单元测试时,它可以正常工作: [Test] public void Data_Should_Contain_Items() { DispatcherFrame f...

9得票2回答
在Dispatcher.Invoke()中使用lambda表达式作为参数

I have such problem : there is some method private List<int> GetStatusList() { return (List<int>)GetValue(getSpec...

9得票3回答
UI线程阻塞

我创建了一个简单的WPF应用程序,并在默认窗口中添加了一个按钮。当我单击该按钮时,会调用一个模拟的长时间工作方法(使用Thread.Sleep(15000)模拟)。我正在尝试使按钮异步执行,但是尽管遵循在线示例,但按钮和整个窗口在我单击后锁定,并且一直保持到Thread.Sleep(...)完...

9得票4回答
多线程WPF应用程序:Dispatcher Invoke。有更高效的方法吗?

我正在使用.NET 3.5。 我正在为一个项目制作一个WPF应用程序,我想了解一些关于Dispatcher和多线程的见解。这是我的程序示例: Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new A...

9得票4回答
使用匿名方法调用WPF调度程序

我刚刚意识到,在C# .Net 4.0 WPF背景线程中,这个方法不起作用(编译器错误): Dispatcher.Invoke(DispatcherPriority.Normal, delegate() { // do stuff to UI }); 我发现一些示例需要这样进行强...

9得票2回答
UWP Windows 10应用在发布模式下崩溃,但在调试模式下正常工作

我的UWP应用在发布模式下崩溃,而在调试模式下正常运行,但我无法确定问题的所在,但我知道它与从System.Threading.Timer和MVVMLight引发事件的组合相关。 我创建了一个新的虚拟应用程序并使用相同的代码(ZXing.net.mobile,我使用了2个便携式库,我使用自己...

9得票1回答
Dispatcher.Invoke和错误传递

我有一个WPF的启动画面(使用.NET 4.5和MVVMLight),必须以异步方式执行各种加载操作,显示进度并偶尔要求用户输入。 当需要输入时,我会在UI线程之外创建窗体/对话框来调用ShowDialog(以启动屏幕为父级),以避免出现任何跨线程问题。这一切都运行得很好,但是如果在请求输入...

9得票1回答
如何给Dispatcher.BeginInvoke提供回调函数

当使用以Dispatcher.BeginInvoke开始的函数完成时,我需要使用回调函数来执行一些后处理任务。然而,我找不到在Dispatcher.BeginInvoke中接受回调函数的任何参数。是否可能给Dispatcher.BeginInvoke提供一个回调函数?