首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式打印FixedDocument

以编程方式打印FixedDocument
EN

Stack Overflow用户
提问于 2009-03-02 07:12:28
回答 1查看 6.5K关注 0票数 1

我正在使用一个简单的发票报告与数据绑定的WPF FixedDocument。当在软件内部查看时,它的效果非常完美。

但我想一键打印一系列发票。下面的代码非常好用(快速而肮脏,只是为了测试而直接在视图模型中逐个加载发票)当我选择xps writer时,但在打印到真正的打印机时无法正确打印。我看不到任何绑定到报表的数据。所有图形元素都在那里,但是没有数据。(当我使用相同的按钮打印到XPS writer打印机时,所有数据都存在,并且正确...)

有什么想法吗?

代码语言:javascript
复制
    private void ExecutePrintCommand(object sender, ExecutedRoutedEventArgs args)
    {
        var invs = args.Parameter as IList<object>;
        using (CompuDataContext db = new CompuDataContext())
        {
            DataLoadOptions dl = new DataLoadOptions();
            dl.LoadWith<Invoice>(f => f.Invoicelines);
            db.LoadOptions = dl;

            ReportViewer viewer = new ReportViewer();
            PrintDialog dlg = new PrintDialog();
            if (dlg.ShowDialog() == true)
            {
                PrintQueue q = dlg.PrintQueue;
                foreach (var o in invs)
                {

                    InvoiceListDisplay inv = o as InvoiceListDisplay;
                    Invoice invoice = db.Invoices.Single(f => f.Id == inv.Id);

                    viewer.DataContext = new InvoicePrintViewModel(invoice);

                    XpsDocumentWriter xpsdw = PrintQueue.CreateXpsDocumentWriter(q);
                    xpsdw.Write(viewer.Document);
                }
            }
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2009-03-02 07:26:28

嗯,所以我在这里找到了答案:)

This helped me (有人知道背后的“原因”是什么吗?Bug?)

PS:在流程文档中,我遇到了同样的问题,但无法在那里解决它。有什么想法吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/601496

复制
相关文章

相似问题

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