我有同样的问题,如"Printing in Silverlight 4规定”的问题。
要解决这个问题,我试图扩大在打印前改变我的视觉树的根。如何克隆的Silverlight可视化树结构
void document_PrintPage(object sender, PrintPageEventArgs e)
{
var renderScale = 1.0D;
if (LayoutRoot.ActualWidth > e.PrintableArea.Width)
renderScale = e.PrintableArea.Width/LayoutRoot.ActualWidth;
var scaleTransform = new ScaleTransform();
scaleTransform.ScaleX *= renderScale;
scaleTransform.ScaleY *= renderScale;
e.PageVisual = LayoutRoot;
e.PageVisual.RenderTransform = scaleTransform;
}
现在上面的代码正确地打印出的Silverlight视觉装配在一张纸上。
现在的问题是,LayoutRoot
本身现在被按比例缩小的屏幕上。
问题是,在应用缩放转换之前,我有没有办法创建LayoutRoot
的克隆?
我步行约是打印后再次应用规模改造的探讨,但我想知道是否有克隆的视觉树
谢谢,herzmeister。我没有想过实际“清除”集装箱价值。这似乎是比保存旧的渲染比例值更好的方法,然后重新转换它。 – Sung 2010-11-06 12:11:02