2009-04-28 18 views
0

我想在自定义UserControl上手动绘制ListViewItems。该控件本身是一个包含在该类中作为私有成员存储的ListView的包装器。绘图ListViewItem超过VisibleClipBounds

附加一个DrawListViewItemEventHandler以允许手动绘制这些项目,并且大部分这似乎工作。我遇到的问题是ListViewItem的文本(大图像模式)很长。

我正在用各种主题绘制ListViewItem周围的边界矩形,然后使用Graphics.MeasureString()测量文本的大小并手动绘制文本。然而,我发现垂直绘图裁剪2.5行文本,因为标题超出了我已经通过的图形上下文的VisibleClipBounds。

这似乎有点奇怪,但我不知道为什么会发生这样的事情,不知道如何解决问题。

+1

什么行为很奇怪? – 2009-04-28 16:45:37

回答

0

您可以使用平铺视图和TileSize给自己足够的空间来绘制文本。

ListView无法保证绘制其所有文本:文本可能很大。