2012-06-11 4 views
0

Я пытаюсь напечатать свой визуал в многостраничном xps. Первая страница работает, но остальные остаются пустыми.Запретить прокрутку Scrollviewer перед прокруткой?

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 всегда прокручивается содержанием вверх перед записью (полосы прокрутки не двигается). Есть ли способ «заморозить» scrollviewer?

+0

Я не эксперт VB, но он смотрит на меня, как вы пропустили некоторые скобки: 'sv.ScrollToHorizontalOffset ((х - 1) * sv.Width)' ' sv.ScrollToVerticalOffset ((у - 1) * sv.Height) ' – Jon

+0

Я изменил его, но это не сработало. Thx для помощи. – DavidVdd

ответ

0

Это решение является взломанным, но, похоже, оно работает для меня.

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

Вы можете ответить, если знаете, почему я должен это делать.

Смежные вопросы