如何复制UIElement并保留布局/渲染信息?

| 我希望复制一个复杂的数据绑定“ 0”,但保留原始UIElement中的Binding,Layout和Rendering信息。 创建新的“ 0”似乎效率很低,因为我将不得不执行另一次完整的“绑定/测量/排列/渲染”过程。 到目前为止,我最接近的是创建一个新的
DrawingVisual
,将其打开以进行渲染,然后使用源UIElement
DrawingGroup
进行DrawDrawing。
DrawingVisual dv = new DrawingVisual();
DrawingGroup dg = VisualTreeHelper.GetDrawing(SourceElement);

using (DrawingContext dc = dv.RenderOpen())
{
     Drawing d = dg.Children[0];
     dc.DrawDrawing(d);
}

return dv;
这是一个好方法吗,它将适用于复杂的UIElement(例如,边框内的许多面板,自定义控件等)吗? 为了给您一个背景,我制作了一个效果不错的ѭ5,但是由于重新创建了相同的UIElements,效果很差。 提前致谢, 皮特     
已邀请:
如果仅用于演示目的,则可以使用VisualBrush。可以在此处,此处和此处找到更多信息。它甚至可以反映对附件视觉效果所做的任何实时更新。     

要回复问题请先登录注册