none
silverlight打印问题 RRS feed

  • 问题

  • PrintableArea在sl中只能获取不能设置啊,真头疼了,sl刚接触,没想到这么不完善。我将要打印的东西做成了一个独立的usercontrol,想通过循环跟支持多页打印来实现,结果打印出来的都是最后一条。具体代码如下: int pageCount = Convert.ToInt32(tb_Count.Text);
    PrintDocument print = new PrintDocument();
    foreach (var item in DG_Result.ItemsSource)
    {
    BarCode.Code code = new BarCode.Code(((DeviceInfo)item).BarCode);
    print.PrintPage += (s, args) =>
    {
    args.PageVisual = code;//code是自定义的usercontrol
    args.HasMorePages = (pageCount>0);
    pageCount--;//pageCount是打印页数
    };
    }
    print.Print("");
    print.EndPrint += (s, args) => { MessageBox.Show("打印完成"); };
    问题出在code这个usercontrol上,它虽然根据传入的数据将条形码改变,但是打印时args.PageVisual被最后一条数据给覆盖,导致循环打印出的条形码统统一样。请帮忙看下,真不知问题出哪了,我调了一下 code的LayoutUpdated事件,发现根本都没走。
    如果实在不行,请你帮我想一下有没有其他方式可以实现多次打印啊,比如silverlight调用win32 api或者有什么插件之类的能够支持

    技术永无止境!
    2010年12月8日 12:06

答案