我有一个在数据模板中显示的带有小图标的 TreeView。我正在尝试使用 RenderTargetBitmap 将 Treeview 保存为 PNG。
图像在小型数据集上正确保存。但是,如果数据集变得太大,则某些图标会从最终图像中排除。神奇的数字似乎是 200 项。树是深还是宽似乎并不重要,在 200 个项目之后,图标不会被渲染。
添加代码
所以这是我用来创建图像的代码。
RenderTargetBitmap targetBitmap = new RenderTargetBitmap(
(int)_treeView.ActualWidth,
(int)_treeView.ActualHeight,
96, 96, PixelFormats.Default);
targetBitmap.Render(_treeView);
添加屏幕截图
现在,如果我折叠一些分支,从而隐藏了一些其他图标,那么这些图标就会被包括在内。这几乎就像 RenderTargetBitmap.Render 没有能力渲染所有的图标。或者它可能与虚拟面板有关。