【问题标题】:Controls Disappearing控件消失
【发布时间】:2010-11-04 20:55:53
【问题描述】:

我在 windows 嵌入式标准 sp3 操作系统上做一个 wpf 项目,我注意到有时控件会消失或部分丢失。这只能在使用xp嵌入式机器时重现,因此它可能与驱动程序或操作系统有关。我认为这可能与使用 aero 主题有关,但即使已完全删除,问题仍然存在。在下面的屏幕截图中,“24”按钮下方应该有两个按钮,但由于某种原因它们消失了。您可以看到部分控件被部分呈现。我还看到文本框被切成两半,进度条没有正确呈现。有人看过这个问题吗?

【问题讨论】:

  • 您是否尝试过使用 snoop 来了解元素是被遮蔽渲染还是根本不渲染?

标签: c# wpf


【解决方案1】:

违反线程要求的标准蝙蝠信号标志。不要乱用工作线程中的控件。

【讨论】:

  • 这是否包括使用后台工作程序更改绑定到控件的集合?有什么替代方案?
  • 当然。特别讨厌,因为这不会引发 InvalidOperationException,就像您尝试直接更新控件时通常会遇到的那样。绑定 sux 的多种方式之一。解决方案是只收集worker中的数据。 List<Mumble>,随便吧。绑定必须发生在 UI 线程上,例如在 RunWorkerCompleted 事件中。
  • 为什么在我使用的任何其他计算机上都不会发生这种情况?我已经对其进行了更改,因此任何绑定到 xaml 的对象都会通过 gui 线程,并且仍然会出现同样的问题。
  • 嗯,很幸运能够拥有一台出现问题的机器。当它在您客户的机器上出现问题而不是在您的机器上出现问题时,情况会更糟。这是更典型的结果。
  • 所以我的问题与线程要求无关,因为通过绑定与控件的所有交互现在都强制在 GUI 线程上。
【解决方案2】:

事实证明,这是因为我对硬件无法正确处理的每个按钮的样式使用了模糊效果。

【讨论】:

    猜你喜欢
    • 2018-04-07
    • 2011-04-14
    • 2014-07-25
    • 2013-03-11
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-03
    相关资源
    最近更新 更多