Ejemplo n.º 1
0
        /// <summary>
        /// Creates a grid with the corresponding GridLength values
        /// </summary>
        /// <param name="GridWidth"></param>
        /// <param name="GridHeight"></param>
        /// <param name="Columns"></param>
        /// <param name="Rows"></param>
        /// <param name="Background"></param>
        /// <returns></returns>
        public static Grid CreateGrid(double GridWidth, double GridHeight, GridLength[] Columns, GridLength[] Rows, Brush Background, GridLineOptions GridLines = null, Boolean AutoSizeWidth = false, Boolean AutoSizeHeight = false)
        {
            Grid nGrid;

            if (GridLines is null)
            {
                nGrid = new Grid();
            }
            else
            {
                nGrid = new CustomGridWithLines();
                (nGrid as CustomGridWithLines).ShowCustomGridLines = true;
                (nGrid as CustomGridWithLines).GridLineSettings    = GridLines;
            }

            if (!AutoSizeWidth)
            {
                nGrid.Width = GridWidth;
            }
            else
            {
                nGrid.MaxWidth = GridWidth;
            }

            if (!AutoSizeHeight)
            {
                nGrid.Height = GridHeight;
            }
            else
            {
                nGrid.MaxHeight = GridHeight;
            }

            nGrid.Background = Background;


            for (int columns = 0; columns < Columns.Length; columns++)
            {
                ColumnDefinition cd = new ColumnDefinition();
                cd.Width = Columns[columns];
                nGrid.ColumnDefinitions.Add(cd);
            }
            for (int rows = 0; rows < Rows.Length; rows++)
            {
                RowDefinition rd = new RowDefinition();
                rd.Height = Rows[rows];
                nGrid.RowDefinitions.Add(rd);
            }

            return(nGrid);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates a 3 Part grid on a Canvas and returns those as Canvas
        /// </summary>
        /// <param name="On">Target Canvas</param>
        /// <param name="HeaderHeight">Height of the Header</param>
        /// <param name="FooterHeight">Height of the Footer</param>
        /// <param name="HeaderCanvas">Header Canvas</param>
        /// <param name="ContentCanvas">Content Canvas</param>
        /// <param name="FooterCanvas">Footer Canvas</param>
        /// <param name="GridLines">optional Gridline Options for the grid created</param>
        public void CreateHeaderFooter(Canvas On, GridLength HeaderHeight, GridLength FooterHeight, out Canvas HeaderCanvas, out Canvas ContentCanvas, out Canvas FooterCanvas, GridLineOptions GridLines = null)
        {
            double ContentHeight = On.Height - HeaderHeight.Value - FooterHeight.Value;

            Grid nGrid = GridHelper.CreateGrid(On.Width, On.Height, new GridLength[] { new GridLength(On.Width) },
                                               new GridLength[] { HeaderHeight, new GridLength(), FooterHeight },
                                               Brushes.Transparent, GridLines);

            HeaderCanvas        = new Canvas();
            HeaderCanvas.Width  = On.Width;
            HeaderCanvas.Height = HeaderHeight.Value;
            GridHelper.PutInGrid(HeaderCanvas, nGrid, 0, 0);

            ContentCanvas        = new Canvas();
            ContentCanvas.Width  = On.Width;
            ContentCanvas.Height = ContentHeight; //Size of Grids are not calculated before actual rendering - thus actualheight = 0
            GridHelper.PutInGrid(ContentCanvas, nGrid, 0, 1);

            FooterCanvas        = new Canvas();
            FooterCanvas.Width  = On.Width;
            FooterCanvas.Height = FooterHeight.Value;
            GridHelper.PutInGrid(FooterCanvas, nGrid, 0, 2);

            DocHelper.PutElementOn(nGrid, On);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Creates a grid with equally sized columns and rows
        /// </summary>
        /// <param name="GridWidth"></param>
        /// <param name="GridHeight"></param>
        /// <param name="GridColumns"></param>
        /// <param name="GridRows"></param>
        /// <param name="Background"></param>
        /// <returns></returns>
        public static Grid CreateEquiSizedGrid(double GridWidth, double GridHeight, int GridColumns, int GridRows, Brush Background, GridLineOptions GridLines = null)
        {
            double CellWidth  = GridWidth / GridColumns;
            double CellHeight = GridHeight / GridRows;

            GridLength[] columns = (new GridLength[GridColumns]);
            for (int i = 0; i < columns.Length; i++)
            {
                columns[i] = new GridLength(CellWidth);
            }
            GridLength[] rows = (new GridLength[GridRows]);
            for (int i = 0; i < rows.Length; i++)
            {
                rows[i] = new GridLength(CellHeight);
            }

            return(CreateGrid(GridWidth, GridHeight, columns, rows, Background, GridLines));
        }