为什么此页面保持为零?这是一个范围/托管/参考/等问题吗?
本文关键字:一个 范围 等问题 参考 托管 为什么 | 更新日期: 2023-09-27 18:37:22
基本上,我有一个函数
Action NewPageIfNecessary = () => {
if ( curY > (page.Height - 20 ) )
{
D.AddPage();
curY = 0;
page = D.Pages[++pagenum];
}
};
我写的是为了我的PDFsharp
绘图程序知道如果我们在上一页太远时创建并移动到新页面。夹在代码之间,例如
PdfDocument D = new PdfDocument();
D.Info.Title = "Self-Assessment Results Summary";
D.AddPage();
int pagenum = 0;
PdfPage page = D.Pages[pagenum];
page.Orientation = PageOrientation.Portrait;
和
foreach ( var Survey in Surveys )
{
NewPageIfNecessary();
gfx.DrawString(Survey.Title, new XFont("Arial", 24), XBrushes.Black, 20, curY += 32);
foreach ( var S in Survey.SectionAverages )
{
NewPageIfNecessary();
gfx.DrawString(S.SectionTitle, new XFont("Arial", 20), XBrushes.Black, 30, curY += 30);
}
foreach ( var S in Survey.ViewModel )
{
NewPageIfNecessary();
gfx.DrawString(S.Title, new XFont("Arial", 20), XBrushes.Black, 30, curY += 30);
foreach ( var SS in S.SubSections )
但我注意到的问题是
page = D.Pages[++pagenum];
没有把我带到一个新的页面。知道为什么吗?
您不显示分配gfx
的代码。您的page
变量不定义绘制内容的位置。释放gfx
并为新页面创建一个新页面。
另请参阅:
https://stackoverflow.com/a/21143712/1015447https://stackoverflow.com/a/32488876/1015447