2012-06-11 63 views
0

我試圖將我的視覺打印成多頁xps。第一頁正在工作,但其他頁面保持空白。僅在打印之前防止滾動查看器滾動?

Dim xP As Integer = 0 
Dim yP As Integer = 0 
xP = Math.Ceiling(WorkFlowCanvas.Width/pageWidth) 
yP = Math.Ceiling(WorkFlowCanvas.Height/pageHeight) 
Dim collator = writer.CreateVisualsCollator() 
collator.BeginBatchWrite() 
For y = 1 To yP 
    For x = 1 To xP 
     Dim o As New Canvas 
     o = New CanvasCreator().GenerateCanvas() 
     Dim sv As New ScrollViewer 
     sv.Height = 1200 
     sv.Width = 800 
     sv.Content = o 
     sv.ScrollToHorizontalOffset(x - 1 * sv.Width) 
     sv.ScrollToVerticalOffset(y - 1 * sv.Height) 
     sv.HorizontalScrollBarVisibility = ScrollBarVisibility.Disabled 
     sv.VerticalScrollBarVisibility = ScrollBarVisibility.Disabled 
     collator.Write(sv) 
    Next 
Next 
collator.Write(Me) 
collator.EndBatchWrite() 

通過使視覺在XAML和打印出來我注意到ScrollViewer中總是寫它(滾動條不動)之前滾動內容。有沒有辦法「凍結」滾動查看器?

+0

我不是VB專家,但它看起來像你對我錯過了一些括號: 'sv.ScrollToHorizo​​ntalOffset((X - 1)* sv.Width)'' sv.ScrollToVerticalOffset((Y - 1)* sv.Height)' – Jon

+0

我改變了它,但沒有奏效。 Thx幫助。 – DavidVdd

回答

0

這個解決方案是哈克,但它似乎爲我工作。

  sv.IsEnabled = False 
      collator.Write(sv) 
      sv.IsEnabled = True 

如果你知道爲什麼我必須這樣做,你可以靜下來回答。