首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现DocumentPaginator时的空白页

实现DocumentPaginator时的空白页
EN

Stack Overflow用户
提问于 2011-10-20 00:57:15
回答 1查看 1.9K关注 0票数 0

我正在尝试实现这样一个分页器:

代码语言:javascript
复制
public class MyPaginator : DocumentPaginator{

  // ommitting details...

  public override DocumentPage GetPage(int pageNumber) {
    DocumentPage page = new DocumentPage(canvas);
    return page;
  }
}

它可以编译、运行,但页面是空白的(白色)。“画布”是System.Windows.Controls.Canvas的一个实例。

当我把它放在像ScrollViewer这样的屏幕容器中时,它会完美地呈现出来。

代码语言:javascript
复制
XpsDocument _xpsDocument = CreateXpsDoc(myPaginatorInstance);

唯一起作用的是将页面的大小设置为画布的大小。我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-24 08:11:26

我会(再一次)回答我自己的问题:

代码语言:javascript
复制
public override DocumentPage GetPage(int pageNumber) {
  Canvas container = new Canvas();
  container.Children.Add(canvas);
  double scaleX = pageSize.Width / canvas.Width;
  double scaleY = pageSize.Height / canvas.Height;
  container.RenderTransform = new ScaleTransform(scaleX, scaleY);

  container.Width = PageSize.Width;
  container.Height = PageSize.Height;
  container.Measure(PageSize);
  container.Arrange(new Rect(new Point(0, 0), PageSize));

  Rect contentBox = new Rect(PageSize);

  return new DocumentPage(container, PageSize, contentBox, contentBox);
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7825056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档