1

我有一个 DataTemplate 提供在 ListBox 和 ComboBox 中显示的项目。我创建的窗口如下所示: 截图 http://img223.imageshack.us/img223/8117/datatemplateexampletz4.png

我的问题是为什么 ComboBox 中的 DataTemplate 比 ListBox 中的显示更模糊或更像素化。在屏幕截图上很难看到,但当我实际使用该应用程序时,它似乎更明显。知道为什么会这样吗?是否与为一个控件启用 ClearType 而不是为另一个控件有关?

任何想法,将不胜感激。如果需要,我可以发布代码。

4

3 回答 3

1

这种效果在图标上的“Adobe”字母上似乎特别明显。由于我假设该图标是某种图形,因此这与ClearType 无关,后者在 WPF 下只是略微有用,而是一个更普遍的问题。一个常见的嫌疑人是像素捕捉

于 2009-02-03T11:05:10.610 回答
1

这是因为图像未与像素网格对齐,您可以给所有对齐的明确大小和位置,或者使用替代图像控件,请参阅我博客上的这篇文章:

http://www.nbdtech.com/blog/archive/2008/11/20/blurred-images-in-wpf.aspx

于 2009-02-03T14:15:42.833 回答
1

与 ListBox 相比,ComboBox 上的文本模糊是因为在弹出窗口(包括 ComboBox 的弹出窗口)上禁用了 ClearType。微软已经证实了这一点。

从链接的文章:

在弹出窗口中,这是一个单独的 Win32 窗口,WPF ClearType 系统无法知道后面的像素(不做各种可疑和缓慢的 win32 技巧),所以它只是被禁用。

于 2009-02-03T19:42:50.660 回答