因此,为了打印我的 Silverlight 网格,我必须将它们从 LayoutRoot 和 Children 中删除。将它们添加到我用于打印的 Canvas 中。(因为它们一次只能附加到一个父元素)。
这很好,但这会使我的屏幕空白,因为网格已从 LayoutRoot 中删除。
所以我尝试从 Canvas 和 Children.Remove 中删除 Children.Add 回 LayoutRoot,但它没有将任何内容添加回屏幕。
我应该如何处理?谢谢。
(使用 Silverlight 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