【问题标题】:WPF UC in Winforms occasionally has an odd border to the left / visually corruptedWinforms 中的 WPF UC 偶尔会在左侧出现奇怪的边框/视觉上已损坏
【发布时间】:2010-05-13 07:04:30
【问题描述】:

我创建了一个 WPF 用户控件,用于在我的 UI 中显示任务的状态。我收到一个奇怪的报告,说控件有时在左侧有一个令人讨厌的边框,我无法重现它。

控件看起来像这样(工作时)(灰色勾号=未运行,绿色=OK,红十字=失败,沙漏=运行);

alt text http://img504.imageshack.us/img504/1772/wpfgoodpw9.png

出现问题时是这样的;

alt text http://img369.imageshack.us/img369/4201/wpfbadar6.png

这可能与这些图标的分层有关,当状态更改时,其他图标变为不可见,相关图标变为可见。四个图标都堆叠在一起。

这也可能是理论上的背景,我接下来会看。平板和 CRT 显示器都报告了问题。

非常感谢任何指导。

更新: 1) SnapsToDevicePixels 不影响该问题。 2) 不使用网格,仅使用画布。

【问题讨论】:

  • 这是Cameron下面提到的像素捕捉。

标签: .net wpf winforms user-controls


【解决方案1】:

会不会和pixel snapping有关?

【讨论】:

  • 不幸的是,事实并非如此,但听起来很可能。虽然背景很好,但我不知道像素捕捉。
【解决方案2】:

它们在网格中吗?它可能与我们从未真正解决过的WPF: Eliminate transparency between grid cells 有关。

【讨论】:

  • 没有使用网格,只是一个画布。但它们似乎以某种方式联系在一起。我必须用色块让它变得更简单,看看我是否可以得到一个样本来重现它。可以以某种方式与 DPI 相关联,但仅在某些系统上发生(显然不是我的系统)。
【解决方案3】:

您可以让一位精通技术的用户在问题出现时运行Snoop,然后:

  1. 点击望远镜
  2. 将鼠标放在工件(竖线)上,然后按 Shift-Ctrl
  3. 查看 Snoop 窗口并告诉您突出显示的项目

这将准确告诉您是什么控件产生了您在工件中看到的颜色,这可能是修复它的重要线索。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-17
    • 2013-11-21
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 2012-07-11
    • 1970-01-01
    相关资源
    最近更新 更多