如何复制UIElement并保留布局/渲染信息?
|
我希望复制一个复杂的数据绑定“ 0”,但保留原始UIElement中的Binding,Layout和Rendering信息。
创建新的“ 0”似乎效率很低,因为我将不得不执行另一次完整的“绑定/测量/排列/渲染”过程。
到目前为止,我最接近的是创建一个新的
DrawingVisual
,将其打开以进行渲染,然后使用源UIElementDrawingGroup
进行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,效果很差。
提前致谢,
皮特
没有找到相关结果
已邀请:
1 个回复
誓猎贰