我必须打印一个显示的 TreeView。
将根 TreeViewItem 渲染为位图,为我提供了整个(甚至不可见节点)树的图像。然后我将位图拆分为要打印的“页面”。渲染代码:
m_Bitmap = new RenderTargetBitmap((int)l_RootTreeViewItem.ActualHeightDesiredSize.Width,
(int)l_RootTreeViewItem.ActualHeight, 96, 96,
PixelFormats.Pbgra32);
m_Bitmap.Render(l_RootTreeViewItem);
适用于小型树木。如果树很大,RenderTargetBitmap会导致“Out Of Memory”异常。
因此,我们的想法是只渲染部分视觉效果以避免内存问题。一种渲染方法,我可以在其中选择要渲染的视觉部分是完美的......
m_Bitmap.Render(l_RootTreeViewItem, xOffset, yOffset, width, height);
……但不存在。有什么办法吗?