0
我正在用ScrollViewer
的帮助打印大屏幕(高)。
在PrintPage
处理程序中,向下滚动ScrollViewer
,然后将PageVisual
设置为ScrollViewer
实例。当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;
}
如果我用一个WaitOne
向ManualResetEvent
等待UI线程更新滚动,我的浏览器冻结...