Пример #1
0
 /// <summary>
 /// get next height of element
 /// </summary>
 /// <param name="_height">current height</param>
 /// <param name="_mode">center mode</param>
 /// <param name="_element">element</param>
 /// <param name="_padding">padding</param>
 /// <returns>next height</returns>
 private int getNextHeight(int _height, UIPlacerMode _mode, FrameworkElement _element, int _padding = 0)
 {
     if (_mode == UIPlacerMode.top || _mode == UIPlacerMode.center)
     {
         return(_height + (int)_element.Height + _padding);
     }
     return(_height - (int)_element.Height - _padding);
 }
Пример #2
0
    /// <summary>
    /// center ui
    /// </summary>
    /// <param name="_mode">center mode</param>
    /// <param name="_padding">padding</param>
    /// <param name="_elements">element to center</param>
    public void Center(UIPlacerMode _mode, int _padding, params FrameworkElement[] _elements)
    {
        int startHeight = _mode == UIPlacerMode.top ? ((int)_elements[0].Height) / 2 + _padding : _mode == UIPlacerMode.center ? MainWindow.SCREEN_HEIGHT / 2 - getTotalHeight(_elements, _padding) / 2 : MainWindow.SCREEN_HEIGHT - (int)_elements[0].Height / 2 - _padding;
        int startWidth  = MainWindow.SCREEN_WIDTH / 2;

        for (int i = 0; i < _elements.Length; i++)
        {
            Thickness th = new Thickness((startWidth - (_elements[i].Width / 2)) - this.Margin.Left, startHeight - this.Margin.Top, 0, 0);
            _elements[i].Margin = th;
            startHeight         = getNextHeight(startHeight, _mode, _elements[i], _padding);
        }
    }