Beispiel #1
0
        void IScroller.ScrollerInfo(ScrollerPanel.ScrolleeEventArgs sea)
        {
            bool always = Sizes_Line == null;

            if (sea.Orientation == Orientation.Vertical)
            {
                double originalCursorLine = (always || Sizes_Line == null) ? -1 : Sizes_Line.CursorValue;
                double originalStartLine  = (always || Sizes_Line == null) ? -1 : Sizes_Line.StartValue;
                Sizes_Line = sea.Clone();
                JustifyStartLineAroundCursor();
                AdjustOtherPanelsIfAnyChanges_Line(always, originalCursorLine, originalStartLine);
                if (GetParentScroller() != null)
                {
                    GetParentScroller().ScrollerInfo(Sizes_Line);
                }
            }
            else
            {
                double originalCursorX = (always || Sizes_X == null) ? -1 : Sizes_X.CursorValue;
                double originalStartX  = (always || Sizes_X == null) ? -1 : Sizes_X.StartValue;
                Sizes_X = sea.Clone();
                JustifyStartXAroundCursor();
                AdjustOtherPanelsIfAnyChanges_X(always, originalCursorX, originalStartX);
                if (GetParentScroller() != null)
                {
                    GetParentScroller().ScrollerInfo(Sizes_X);
                }
            }
        }