public ScreenRendererPackageFile(ScreenRenderer screenRenderer) { this.Name = $"{Path}/{LayoutExtension.GetPageName(screenRenderer.Model)}.xml"; List <IRenderer> childrens = RendererTreeHelper .FindChildrens <IRenderer>(screenRenderer) .ToList(); childrens.Insert(0, screenRenderer); this.Model = new ObjectContainer <RendererSurface>() { Items = childrens .Select(c => new RendererSurface() { Guid = c.Model.Guid, Metadata = c.Metadata, Location = new Point( Canvas.GetLeft(c.Element), Canvas.GetTop(c.Element)) }).ToList() }; base.CreateStream(); }
/// <summary> /// 이전 작업으로 돌아갑니다. /// </summary> public override void Undo() { base.Undo(); if (TaskType == RendererTaskType.Remove) { foreach (IRenderer child in RendererTreeHelper.FindChildrens <IRenderer>(Source)) { child.Element.AddAdorner((Adorner)child); } } }