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線程更新滾動,我的瀏覽器凍結...