protected override void OnEnteredLayout(LayoutContext layoutContext, ILayout previousLayout) { var elements = new List <LayoutSwitchElement>(); var layouts = layoutContext.GetActiveLayouts().Where(l => l != this); foreach (var layout in layouts) { var element = GlobalContext.InitializeEntity(new LayoutSwitchElement(new Identifier(Id.Value + ".Elements." + layout.Id.Value))); element.SetData(layout, previousLayout); elements.Add(element); } AddElementsInRectangle(elements); }