public void EntryAddItem(ControlMenuItem item) { int screen = WindowPositionBehaviour.GetWindowScreen(this); WindowPosition wp = WindowPositionBehaviour.GetWindowPosition(this); WindowPosition wpe = wp; if (item.Element != null) { switch (wp) { case WindowPosition.LeftTop: case WindowPosition.LeftBottom: wpe = WindowPosition.Left; break; case WindowPosition.RightTop: case WindowPosition.RightBottom: wpe = WindowPosition.Right; break; } if (WindowPositionBehaviour.GetWindowPosition(item.Element) != WindowPosition.None) { WindowPositionBehaviour.SetWindowPosition(item.Element, wpe); } WindowPositionBehaviour.SetWindowScreen(item.Element, WindowPositionBehaviour.GetWindowScreen(this)); } this.Items.Add(item); PanelSettings.Build(wp, screen, this.Items.Where(x => x.Parent != null).Select(x => new PanelItemParametry() { Element = x.TypeElement, Position = wpe, Bounds = new Rect(GetStartSizeByTypePanel(x.TypeElement)) })); }