I have logged it in our feedback portal by making this thread public. You can track its progress, subscribe for status changes and add your comments on the following link - feedback item.
I have also updated your Telerik points.
Currently, the possible solution that I can suggest is to use the following custom MapInputBehavior:
public RadForm1(){ InitializeComponent(); string cacheFolder = @"..\..\cache"; OpenStreetMapProvider osmProvider = new OpenStreetMapProvider(); LocalFileCacheProvider cache = new LocalFileCacheProvider(cacheFolder); osmProvider.CacheProvider = cache; this.radMap1.MapElement.Providers.Add(osmProvider); this.radMap1.InputBehavior = new MyMapInputBehavior();}public class MyMapInputBehavior : MapInputBehavior{ Point lastMouseLocation = Point.Empty; public override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); this.lastMouseLocation = e.Location; } public override void OnMouseMove(MouseEventArgs e) { if (e.Button == MouseButtons.Left && this.lastMouseLocation != Point.Empty && !this.MapElement.IsAnimationActive) { var panOffset = new SizeL(this.MapElement.PanOffset.Width + (e.X - this.lastMouseLocation.X), this.MapElement.PanOffset.Height + (e.Y - this.lastMouseLocation.Y)); long mapSize = MapTileSystemHelper.MapSize(this.MapElement.ZoomLevel); long x = panOffset.Width; long y = panOffset.Height; if (x > 0) { x = 0; } else if (x < -mapSize + this.MapElement.ViewportInPixels.Width) { x = -mapSize + this.MapElement.ViewportInPixels.Width; } if (mapSize < this.MapElement.ViewportInPixels.Height) { y = (this.MapElement.ViewportInPixels.Height - mapSize) / 2; } else if (y > 0) { y = 0; } else if (y < this.MapElement.ViewportInPixels.Height - mapSize) { y = this.MapElement.ViewportInPixels.Height - mapSize; } this.MapElement.PanOffset = new SizeL(x, y); this.lastMouseLocation = e.Location; } } public override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); this.lastMouseLocation = Point.Empty; }}