打印文档和滚动查看器

西尔文·P。

我正在 .a 文件的帮助下逐块打印一个大屏幕(高)ScrollViewer
PrintPage处理程序中,我向下滚动ScrollViewer然后将实例设置PageVisualScrollViewer当 SV 处于底部时,我将该HasMorePages属性设置为 false。
我的问题是,这是工作的罚款条件,我提示每一页之间的MessageBox用户,否则SV不滚动在打印过程结束时除外。

我试图在 UI 线程上进行滚动,但没有运气:

void Print_PrintPage(object sender, PrintPageEventArgs e)
{
    // DefPage contains properties of the printed page
    DefPage defPage = _enumeratorPages.Current;
    e.HasMorePages = _enumeratorPages.MoveNext();
    ScrollViewerVertical.Dispatcher.BeginInvoke(delegate {
        ScrollViewerVertical.ScrollToVerticalOffset(defPage.OffsetY);
    });
    e.PageVisual = ScrollViewerVertical;
}

如果我使用ManualResetEventwithWaitOne等待 UI 线程更新滚动条,我的浏览器会冻结...

西尔文·P。

呼叫到ScrollViewerVertical.UpdateLayout()解决的问题

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章