我在FlowDocument中有一个包含4列的表。我已经设置了列的宽度,但是在FlowDocumentReader中查看时,在页面模式或2页模式下,最右边的列被截断。
<FlowDocument >
<Table BorderBrush="Black" BorderThickness="1">
<Table.Columns>
<TableColumn Background="Red" Width="120" />
<TableColumn Background="Green" Width="180" />
<TableColumn Background="Blue" Width="140" />
<TableColumn Background="Yellow" Width="140" />
</Table.Columns>
<TableRowGroup>
<TableRow>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>Row Number</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>Text</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>Another Column</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>Yet Another Column</Paragraph>
</TableCell>
</TableRow>
<TableRow>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>1</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph >Lorem Ipsum is simply dummy text of the printing and typesetting industry.</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>Hello World</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>Where is my text?</Paragraph>
</TableCell>
</TableRow>
<TableRow>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>2</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod ...</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph></Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph></Paragraph>
</TableCell>
</TableRow>
<TableRow>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>3</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph></Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph></Paragraph>
</TableCell>
</TableRow>
<TableRow>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>4</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph></Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph></Paragraph>
</TableCell>
</TableRow>
<TableRow>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>5</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph></Paragraph>
</TableCell>
<TableCell BorderBrush="Black" BorderThickness="1">
<Paragraph></Paragraph>
</TableCell>
</TableRow>
</TableRowGroup>
</Table>
在页面模式下,情况有所不同。请注意,第三列的一部分和第四列的所有部分都被截断。为什么截断右边的列而不是在下一页显示它们是否有用? Page Mode http://lh4.ggpht.com/_nAfWrUnRWwQ/TFG6TIzGX7I/AAAAAAAADig/mLw1fV8-c90/truncated%20columns.png
答案 0 :(得分:1)
通过将ColumnWidth设置为与PageWidth相同的值,我能够将FlowDocument显示在单个列中。我正在使用FlowDocument进行打印,结果很好。 PageWidth和PageHeight属性设置为PrintDialog所说的可打印区域。然后我设置ColumnWidth以防止在多个列中打印。
<FlowDocument PageWidth="850" PageHeight="1056" ColumnWidth="850" >
...
</FlowDocument>