복잡한 데이터 바인딩 UIElement
을 복사하고 원본 UIElement에서 바인딩, 레이아웃 및 렌더링 정보를 유지하려고합니다.UIElement를 복제하고 레이아웃/렌더링 정보를 유지하는 방법은 무엇입니까?
UIElement
을 새로 만드는 것은 완전히 다른 바인딩/측정/정렬/렌더링 패스를 수행해야하므로 비효율적 인 것처럼 보입니다.
가장 가까운 대상은 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;
복잡한 접근 방식 (예 : 국경 내 패널이 많은 경우, 맞춤형 컨트롤 등)은 복잡한 방식으로 작동합니까?
컨텍스트를 제공하기 위해 동일한 UIElements를 재 작성했기 때문에 DocumentPaginator
이 잘 작동하지만 inefficeintintly 제작하고 있습니다. 사전에
감사합니다, 피트
조언 해 주셔서 감사합니다. 그러나 제가 ** 붙박이 시각 효과에 ** 반영한 바로 그 이유 때문에 'VisualBrush'를 피하고 싶습니다. 독립적 인 '비주얼'을 만들기 위해 소스 'UIElement'정보 (시간 소비 레이아웃과 렌더링 정보)를 사용하는 새로운 'UIElement'(또는 'Visual')를 만들 수 있기를 바랍니다 ** SourceUIElement의 변경을 반영) – Peter