MigraDoc 部分宽度
MigraDoc section width
我想要一种在 MigraDoc 中设置相对列宽的方法,并且我在该主题上找到了 this post。问题是,它对我不起作用。我已经从 post:
中复制了确切的代码
Section section = document.AddSection();
section.PageSetup.PageFormat = PageFormat.A4;
int sectionWidth = (int)(section.PageSetup.PageWidth - section.PageSetup.LeftMargin - section.PageSetup.RightMargin);
int columnWidth = sectionWidth / 2;
但是,如果我在代码中插入一个断点(紧接在 int columnWidth = ...
之后),它表明该部分页面宽度为零:
所以很明显,从截面宽度派生的所有内容也都变为零。但为什么?如您所见,PageFormat
已正确设置为 "A4"。没看懂...
我设法找到了解决方案(有点巧合)。 post 描述了与 section.PageSetup
有点相似的问题。解决方案是在修改默认页面设置之前创建一个克隆。新代码如下所示:
Section section = document.AddSection();
section.PageSetup = document.DefaultPageSetup.Clone(); // <-- This has been added
section.PageSetup.PageFormat = PageFormat.A4;
int sectionWidth = (int)(section.PageSetup.PageWidth - section.PageSetup.LeftMargin - section.PageSetup.RightMargin);
int columnWidth = sectionWidth / 2;
我想要一种在 MigraDoc 中设置相对列宽的方法,并且我在该主题上找到了 this post。问题是,它对我不起作用。我已经从 post:
中复制了确切的代码Section section = document.AddSection();
section.PageSetup.PageFormat = PageFormat.A4;
int sectionWidth = (int)(section.PageSetup.PageWidth - section.PageSetup.LeftMargin - section.PageSetup.RightMargin);
int columnWidth = sectionWidth / 2;
但是,如果我在代码中插入一个断点(紧接在 int columnWidth = ...
之后),它表明该部分页面宽度为零:
所以很明显,从截面宽度派生的所有内容也都变为零。但为什么?如您所见,PageFormat
已正确设置为 "A4"。没看懂...
我设法找到了解决方案(有点巧合)。 post 描述了与 section.PageSetup
有点相似的问题。解决方案是在修改默认页面设置之前创建一个克隆。新代码如下所示:
Section section = document.AddSection();
section.PageSetup = document.DefaultPageSetup.Clone(); // <-- This has been added
section.PageSetup.PageFormat = PageFormat.A4;
int sectionWidth = (int)(section.PageSetup.PageWidth - section.PageSetup.LeftMargin - section.PageSetup.RightMargin);
int columnWidth = sectionWidth / 2;