public void BoundsAttach(OffsetAndZoom loc)
        {
            _attachedState = null; //pause update

            if (loc == null)
            {
                loc = new OffsetAndZoom();
            }

            Debug.WriteLine("Restore {0} Zoom from: {1:0.00} to {2:0.00}, Original Size: {3}",
                            Name, _scrollDragZoom.Zoom, loc.Zoom, _scrollDragZoom.NaturalSize);

            if (loc.Zoom > 10)
            {
                loc.Zoom = 10;
            }
            _scrollDragZoom.Zoom = loc.Zoom;

            Debug.WriteLine("Restore {0} Offset to: {1:0.00}", Name, loc.Offset);

            _control.SetDraggableOffset(loc.Offset, bAbsoluteOffset: true);

            _attachedState = loc; //continue update
        }
 public void BoundsGet(OffsetAndZoom loc)
 {
     loc.Zoom   = _scrollDragZoom.Zoom;
     loc.Offset = _control.GetDraggableOffset();
 }