Beispiel #1
0
        protected override Size Arrange(Size finalSize)
        {
            m_HeaderButton.DoArrange(new Rectangle(0, 0, finalSize.Width, m_HeaderButton.MeasuredSize.Height));

            if (IsCategoryCollapsed)
            {
                return(new Size(finalSize.Width, m_HeaderButton.MeasuredSize.Height));
            }
            else
            {
                int  y     = m_HeaderButton.MeasuredSize.Height + Padding.Top;
                int  width = finalSize.Width - Padding.Left - Padding.Right;
                bool b     = true;

                foreach (ControlBase child in Children)
                {
                    CategoryButton button = child as CategoryButton;
                    if (button == null)
                    {
                        continue;
                    }

                    button.m_Alt = b;
                    button.UpdateColors();
                    b = !b;

                    child.DoArrange(new Rectangle(Padding.Left, y, width, child.MeasuredSize.Height));
                    y += child.MeasuredSize.Height;
                }

                y += Padding.Bottom;

                return(new Size(finalSize.Width, y));
            }
        }
Beispiel #2
0
        /// <summary>
        /// Function invoked after layout.
        /// </summary>
        /// <param name="skin">Skin to use.</param>
        protected override void PostLayout(Skins.Skin skin)
        {
            if (IsCollapsed)
            {
                Height = m_HeaderButton.Height;
            }
            else
            {
                SizeToChildren(false, true);
            }

            // alternate row coloring
            bool b = true;

            foreach (Control child in Children)
            {
                CategoryButton button = child as CategoryButton;
                if (button == null)
                {
                    continue;
                }

                button.m_Alt = b;
                button.UpdateColors();
                b = !b;
            }
        }