2009-04-28 17 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無法保證繪製其所有文本:文本可能很大。