Frage

Ich möchte 20 Spalten Datagrid Inhalt (Zeilen, Spalten) in XPS document.I haben zeigen. Wenn ich Datagrid mit XPSDocumentWriter.Write Methode XPS gesendet, zeigen sie nur einige Spalten nicht alle them.How kann ich alle Spalten und Zeilen in xps zeigen (wie Xceed Datagrid xps Export)

Thx

War es hilfreich?

Lösung

Das Problem ist wahrscheinlich mit der Breite des Gitters im Verhältnis des XpsDocumentWriter der Seitengröße.

WPF wird in dem Dokument schreibt das Element, das Sie wie schaffen. Das bedeutet, dass es nicht in irgendeiner Weise skaliert werden, um den Inhalt der Seite zu passen.

Angenommen, Ihr Dokument ist die richtige Größe (läßt suppose Brief), müssen Sie den Druckbereich des Dokuments bestimmen und eine Render an das Netz anwenden, bevor Sie es in die XpsDocumentWriter

schreiben

Der Code zu tun, es sei so etwas wie:

Grid grd = new Grid();
XpsDocumentWriter wrt = new XpsDocumentWriter();
//Bunch of code to manipulate your grid here

//Now we calculate the scaling required:
double ScaleX = PageWidth / grd.Width; //The page width must be in Device Independent Units
double ScaleY = ScaleX;

grd.RenderTransform = new ScaleTransform(ScaleX, ScaleY);

wrt.Write(grd);

EDIT: Changed der Code, so dass sowohl der ScaleX und ScaleY Punkt der Menge erforderlich ist, um das Gitter vollständig im XpsDocument fit zu machen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top