如何在 WPF 窗体中显示呈现状态



我正在覆盖WPF的OnRender来绘制复杂的图形。这可能很少需要很长时间。我想向用户指出该应用程序没有崩溃,但"仅"需要很长时间才能渲染。

我该怎么做?在 OnRender 调用期间,似乎无法以任何方式修改 UI。

您正在谈论在绘图顶部放置"繁忙指示器"。

只需在上面放置一个半透明的网格,上面写着"正在加载..."大功告成。

将其可见性绑定到某个布尔值,在进入复杂渲染时更新一次,完成后更新一次。

或者放一个带有渐变背景的旋转椭圆,如果你想看到运动。

由于 OnRender 方法将在 UI 线程上执行,因此您无法执行任何其他操作,例如在代码执行期间显示交互式ProgressBar或响应用户输入。

您可以做的是弹出一个新窗口,该窗口在单独的线程中启动,并在开始绘制复杂图形之前显示此窗口。

有关此内容的更多信息,请参阅我在以下类似问题中的回答。

在 WPF 中呈现 UI 期间的等待屏幕

返回OnRender方法后,关闭临时"加载"窗口:

是否可以阻止 WPF 在代码中不按顺序执行 UI 操作

相关内容

  • 没有找到相关文章

最新更新