Ejemplo n.º 1
0
        private void setWinLayout()
        {
            // размеры
            this.Width  = (double)AppLib.GetAppGlobalValue("screenWidth");
            this.Height = (double)AppLib.GetAppGlobalValue("screenHeight");
            this.Top    = 0; this.Left = 0;

            double pnlMenuWidth, pnlMenuHeight;
            //pnlMenuHeight = (double)AppLib.GetAppGlobalValue("categoriesPanelHeight");
            //pnlMenuWidth = (double)AppLib.GetAppGlobalValue("categoriesPanelWidth");
            // высоту и ширину панели управления взять из главного окна
            MainWindow mainWin = (MainWindow)App.Current.MainWindow;

            pnlMenuHeight             = mainWin.gridMenuSide.ActualHeight;
            pnlMenuWidth              = mainWin.gridMenuSide.ActualWidth;
            brdAboveFolderMenu.Height = pnlMenuHeight;
            brdAboveFolderMenu.Width  = pnlMenuWidth;

            double dW, dH, d1;
            double grdContentWidth = getAbsColWidth(gridWindow, 1, ((this.Width <= pnlMenuWidth) ? this.Width : this.Width - pnlMenuWidth));
            double grdContentHeight = AppLib.GetRowHeightAbsValue(gridWindow, 1, ((this.Height <= pnlMenuHeight) ? this.Height : this.Height - pnlMenuHeight));
            double itemWidth = 10, itemHeight = 10, garnTextFontSize = 10;

            Setter st; Thickness thMargin;
            Style  lbiStyle      = (Style)this.Resources["addingsListBoxItemStyle"];
            Style  garnTextStyle = (Style)this.Resources["garnishTextStyle"];

            // вертикальное размещение
            if (AppLib.IsAppVerticalLayout == true)
            {
                DockPanel.SetDock(brdAboveFolderMenu, Dock.Top);

                gridWindow.RowDefinitions[1].Height   = new GridLength(5d, GridUnitType.Star);
                gridWindow.ColumnDefinitions[1].Width = new GridLength(10d, GridUnitType.Star);

                // строка изображения
                gridMain.RowDefinitions[2].Height = new GridLength(2.5, GridUnitType.Star);
                // строки добавок
                gridMain.RowDefinitions[5].Height = new GridLength(1.2, GridUnitType.Star);
                gridMain.RowDefinitions[8].Height = new GridLength(1.2, GridUnitType.Star);
                // Кнопка Добавить
                gridAddButtonSection.RowDefinitions[1].Height = new GridLength(2.0, GridUnitType.Star);

                grdContentWidth  = getAbsColWidth(gridWindow, 1, ((this.Width == pnlMenuWidth) ? this.Width : this.Width - pnlMenuWidth));
                grdContentHeight = AppLib.GetRowHeightAbsValue(gridWindow, 1, ((this.Height == pnlMenuHeight) ? this.Height : this.Height - pnlMenuHeight));

                // ширина изображения
                dW = getAbsColWidth(gridMain, 1, grdContentWidth);
                dishImage.Width = 0.4d * dW;
                // текст добавки
                dH = AppLib.GetRowHeightAbsValue(gridMain, 5, grdContentHeight);
                garnTextFontSize = (0.4d * dH) * 0.3d;
            }

            // горизонтальное размещение
            else
            {
                DockPanel.SetDock(brdAboveFolderMenu, Dock.Left);

                // ширина изображения
                dW = getAbsColWidth(gridMain, 1, grdContentWidth);
                dishImage.Width = 0.35d * dW;

                dH = AppLib.GetRowHeightAbsValue(gridMain, 5, grdContentHeight);
                garnTextFontSize = (0.4d * dH) * 0.3d;
            }

            // ширина элемента списка добавок
            dW        = getAbsColWidth(gridMain, 1, grdContentWidth); // + getAbsColWidth(gridMain, 2, grdContentWidth);
            dW       /= 5d;
            itemWidth = 0.9d * dW;
            thMargin  = new Thickness(0, 0, 0.1 * dW, 0);

            st       = (Setter)lbiStyle.Setters.FirstOrDefault(s => (s as Setter).Property.Name == "Margin");
            st.Value = thMargin;

            st       = (Setter)lbiStyle.Setters.FirstOrDefault(s => (s as Setter).Property.Name == "Width");
            st.Value = itemWidth;

            st       = (Setter)garnTextStyle.Setters.FirstOrDefault(s => (s as Setter).Property.Name == "FontSize");
            st.Value = garnTextFontSize;
            if (AppLib.IsAppVerticalLayout)
            {
                st       = (Setter)garnTextStyle.Setters.FirstOrDefault(s => (s as Setter).Property.Name == "Margin");
                thMargin = new Thickness(-0.4 * 0.1 * dW, 0, -0.4 * 0.1 * dW, 0);
                st.Value = thMargin;
            }
        }  // method