J'essaye de dessiner manuellement ListViewItems sur un UserControl personnalisé. Le contrôle lui-même est un wrapper autour d'un ListView stocké en tant que membre privé sur la classe.Dessin ListViewItem dépasser VisibleClipBounds
DrawListViewItemEventHandler est attaché pour permettre le dessin manuel de ces éléments, et cela semble fonctionner dans la plupart des cas. Le problème que j'ai est où le texte pour le ListViewItem (en mode image grand) est long.
Je dessine un rectangle de délimitation autour de ListViewItem avec divers thèmes, puis je mesure la taille du texte à l'aide de Graphics.MeasureString() et dessine manuellement le texte. Cependant ce que je trouve est que le dessin vertical est recadré à 2.5 lignes de texte, parce que la légende tombe en dehors des VisibleClipBounds du contexte graphique que j'ai été passé.
Cela semble un peu étrange, mais je ne sais pas pourquoi une telle chose devrait arriver et je ne sais pas comment contourner le problème.
Quel comportement est étrange? –
Je suis d'accord avec Adam. Cela me semble juste. Qu'est-ce que tu veux que ça arrive? –
Eh bien, je m'attendrais à ce que ListViewItem puisse dessiner tout son texte (du moins lorsqu'il est sélectionné, ce qui est à ce stade) ... ayant essentiellement des limites de clip assez grandes pour se dessiner dans son intégralité. – Ian