예제 #1
0
        /// <summary>МЕТОД Добавляем к полю дочерние элементы</summary>
        /// <param name="pPole">Дочернее поле</param>
        public override bool MET_AddElement(VirtualPole pPole)
        {
            int    _Row;
            int    _Column;
            int    _RowSpan;
            int    _ColumnSpan;
            double _With;

            // Строка
            try { _Row = Convert.ToUInt16(pPole.PROP_Format.PROP_Value["gRo"]); }
            catch { _Row = 0; }
            Grid.SetRow(pPole, _Row);
            // Колонка
            try { _Column = Convert.ToUInt16(pPole.PROP_Format.PROP_Value["gCo"]); }
            catch { _Column = 0; }

            Grid.SetColumn(pPole, _Column);
            // Объединение по Строкам
            try { _RowSpan = Convert.ToUInt16(pPole.PROP_Format.PROP_Value["gRs"]); }
            catch { _RowSpan = 0; }

            if (_RowSpan > 0)
            {
                Grid.SetRowSpan(pPole, _RowSpan);
            }
            // Объединение по Колонокам
            try { _ColumnSpan = Convert.ToUInt16(pPole.PROP_Format.PROP_Value["gCs"]); }
            catch { _ColumnSpan = 0; }
            if (_ColumnSpan > 0)
            {
                Grid.SetColumnSpan(pPole, _ColumnSpan);
            }
            // Ширина колонки
            try { _With = Convert.ToDouble(pPole.PROP_Format.PROP_Value["gw"]); }
            catch { _With = 0; }
            if (_With > 0)
            {
                PART_Grid.ColumnDefinitions[_Column].Width = new GridLength(_With, GridUnitType.Star);
            }
            // Добавляем поле в ячейку
            PART_Grid.Children.Add(pPole);
            // Если нужно рисуем границу между ячейками
            if (PROP_ShowRectangle)
            {
                Rectangle _Rectangle = new Rectangle();
                Grid.SetRow(_Rectangle, _Row);
                Grid.SetColumn(_Rectangle, _Column);
                if (_RowSpan > 0)
                {
                    Grid.SetRowSpan(_Rectangle, _RowSpan);
                }
                if (_ColumnSpan > 0)
                {
                    Grid.SetColumnSpan(_Rectangle, _ColumnSpan);
                }
                _Rectangle.Stroke          = Brushes.Navy;
                _Rectangle.StrokeThickness = 0.5;
                PART_Grid.Children.Add(_Rectangle);
                // Если ресуем границу между ячейками, то убираем границу у элемента
                pPole.PROP_HideBorder = true;
            }
            return(true);
        }
예제 #2
0
 /// <summary>МЕТОД Добавляем к полю дочерние элементы</summary>
 /// <param name="pPole">Дочернее поле</param>
 public override bool MET_AddElement(VirtualPole pPole)
 {
     PART_StackPanel.Children.Add(pPole);
     return(true);
 }
예제 #3
0
 /// <summary>МЕТОД Добавляем к полю дочерние элементы, если есть (пустой)</summary>
 /// <param name="pPole">Дочернее поле</param>
 public virtual bool MET_AddElement(VirtualPole pPole)
 {
     return(true);
 }