【发布时间】:2012-10-04 20:20:03
【问题描述】:
我目前在 WPF 中遇到问题。 UI 加载正常,但是每当进行第一次用户交互时,例如单击按钮,应用程序似乎停止运行,或者例如,如果我有两个显示 MessageBox 的按钮,第一次单击将等待几秒钟然后显示MessageBox,但任何后续交互都是即时的和响应式的。
有其他人经历过吗?如果有,有什么解决办法吗?
谢谢
【问题讨论】:
-
如果您使用带有参数
thisrefrence 的重载版本显示消息框,则在关闭消息框之前将不允许您执行任何操作。 -
我猜这是因为 DLL 加载,因为 .NET 只加载引用的内容,所以当任何对象的第一次引用发生时,可能会导致延迟。这就是发生的事情......
-
我想我已经弄清楚了,它似乎只是在调试时很慢。如果我构建发布并从 bin 目录中的发布文件夹运行应用程序,则不会发生停顿或延迟。无论如何感谢您的帮助:)
-
我注意到了相同的行为,但仅在调试期间出现在 64 位构建(或 64 位操作系统上的 AnyCPU)中。如果从
Bin\Debug目录开始,调试构建将立即运行。只有在 IDE 中按 F5 运行程序时才会出现延迟。
标签: c# wpf performance buttonclick intellitrace