したがって、Silverlightグリッドを印刷するには、Childrenに追加する必要がありました。LayoutRootとChildrenからそれらを削除し、印刷に使用しているCanvasに追加します。(一度に1つの親要素にしかアタッチできないため)。
これは問題ありませんが、グリッドがLayoutRootから削除されているため、画面が空白のままになります。
そこで、Children.Remove from the Canvas and Children.Add back to LayoutRootを試しましたが、画面に何も追加されません。
これにどう対処すればいいですか?ありがとう。
(Silverlght 5およびVB.netを使用)。
私のコード:
If PageCounter = 1 Then
Dim PrintSurface As New Canvas
Dim topPosition1 As Double = e.PageMargins.Top + 10
Dim topPosition2 As Double = e.PageMargins.Top + 600
CompChartGrid.SetValue(Canvas.TopProperty, topPosition1)
AttChartGrid.SetValue(Canvas.TopProperty, topPosition2)
LayoutRoot.Children.Remove(CompChartGrid)
PrintSurface.Children.Add(CompChartGrid)
LayoutRoot.Children.Remove(AttChartGrid)
PrintSurface.Children.Add(AttChartGrid)
e.PageVisual = PrintSurface
PrintSurface.Children.Remove(CompChartGrid)
PrintSurface.Children.Remove(AttChartGrid)
LayoutRoot.Children.Add(CompChartGrid)
LayoutRoot.Children.Add(AttChartGrid)
PageCounter += 1
e.HasMorePages = True
Exit Sub
End If