Exemple #1
0
        void SetScrollbar(ScrollbarStyle style)
        {
            // Save style
            _ScrollbarStyle = style;
            if (style == Misc.ScrollbarStyle.NONE)
            {
                if (Scrollbar != null)
                {
                    // Remove scrollbar
                    Scrollbar = null;
                    // Let window react on the change
                    Window.LayoutUpdate(true);
                }
            }
            else
            {
                // Create scrollbar
                if (Scrollbar == null)
                    Scrollbar = new Scrollbar(this);

                // Set style
                Scrollbar.ScrollbarStyle = style;
            }
        }
Exemple #2
0
        public override Size GetPreferredSize()
        {
            if (ScrollbarStyle == Misc.ScrollbarStyle.NONE)
                return Layout.PreferredLayoutSize(this);
            else
            {
                // Override the containers layout size
                if (Scrollbar == null)
                    Scrollbar = new Scrollbar(this);
                Size scrollsize = Scrollbar.GetScrollbarSize();
                Size layoutsize = Layout.PreferredLayoutSize(this);
                Scrollbar.ContentSize = layoutsize;

                if (ScrollbarStyle == Misc.ScrollbarStyle.HORIZONTAL)
                {
                    // Keep height
                    return new Size(scrollsize.Width, layoutsize.Height);
                }
                else if (ScrollbarStyle == Misc.ScrollbarStyle.VERTICAL)
                {
                    // Keep width
                    return new Size(layoutsize.Width, scrollsize.Height);
                }
                else
                {
                    return scrollsize;
                }

            }
        }