コード例 #1
0
ファイル: MenuWindow.xaml.cs プロジェクト: TomDugger/NTW.ETM
        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))
            }));
        }