DataGridView - Vertikaler Text
-
Hallo,
es ist ja relativ einfach den Text einer Zelle Vertikal zu schreiben.
Aber gibt es auch eine Möglichkeit in einer Zeller vertikalen und horizontalen Text zu mischen?
-
Das mußt du dann schon von Hand zeichnen (lassen), d.h. im DataGridView.CellPainting-Ereignis:
StringFormat sf = new StringFormat(); sf.FormatFlags = StringFormatFlags.DirectionVertical; // vertikal e.Graphics.DrawString("Text", ..., sf); // horizontal e.Graphics.DrawString("Yet another Text", ...); // ohne StringFormat
-
NAja kommt drauf an mit was er arbeitet. Arbeitest du mit WPF oder WinForms. In WPF brauchst du einfach nur nen Textblock binden und da die RotateTransform um 90° drehen.
-
Ich arbeite mit TranslateTransform und RotateTransform. Vorher habe ich die Direction Methode angewendet, diese aus Performancegründen allerdings wieder verworfen.
Das Problem ist ja auch nicht das vertikal zeichenen, sondern das kombinierte Zeichnen von vertikal und horizontal in einer Zelle. Der zuerst gezeichnete (horizontale) Text wird einfach gelöscht bzw. ist nicht mehr sichtbar.
-
Naja was für ein DataTemplate hat denn deine Zelle?
-
Sorry, wußte nicht, daß es hier um WPF geht, denn das WPF-Control heißt DataGrid: http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.aspx
-
Th69 schrieb:
Sorry, wußte nicht, daß es hier um WPF geht, denn das WPF-Control heißt DataGrid: http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.aspx
Ne, schon Forms ... deshalb ja DataGridView in der Überschrift ...
Hab's aber hinbekommen. Aus irgend einem Grund kommt der mit den Koordinaten beim Mischen von beiden Textarten durcheinander.
Vielen Dank trotzdem!