Pergunta

Eu quero mostrar conteúdo datagrid (linhas, colunas) no XPS document.I tem 20 colunas. Quando enviei datagrid para XPS com o método XPSDocumentWriter.Write, é apenas mostrar algumas colunas não todos de them.How pode i mostrar todas as colunas e linhas em XPS (como Xceed XPS datagrid exportador)

Thx

Foi útil?

Solução

O problema é provavelmente com a largura de sua grade em relação de pagesize do XpsDocumentWriter.

WPF vai escrever no documento o elemento que você fornecer como é. Isso significa que ele não vai ser escalado em qualquer forma para caber o conteúdo da página.

Assumindo que o seu documento é o tamanho correto (permite carta suponho), você precisa determinar a área de impressão do documento e aplicar um RenderTransform à rede antes de escrevê-lo na XpsDocumentWriter

O código para fazê-lo seria algo como:

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: Mudou o código para que tanto o ScaleX e ScaleY ponto ao montante necessário para fazer o ajuste de grade completamente no XpsDocument

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top