wpfMap1.MapUnit = GeographyUnit.DecimalDegree; Proj4Projection proj4Projection = new Proj4Projection(); proj4Projection.InternalProjectionParametersString = "+proj=tmerc +lat_0=0 +lon_0=117 +k=0.9996 +x_0=500000 +y_0=10000000 +a=6377397.155 +b=6356078.963 +towgs84=-404.78,685.68,45.47,0,0,0,0 +units=m +no_defs no_defs"; proj4Projection.ExternalProjectionParametersString = Proj4Projection.GetEpsgParametersString(4326); //Geodetic (Longitude/Latitude) ShapeFileFeatureLayer mytown = new ShapeFileFeatureLayer(@"C:\Map\shoreline.shp"); mytown.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyles.ContestedBorder1; mytown.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; mytown.DrawingMarginPercentage = 100; LayerOverlay staticOverlay = new LayerOverlay(); staticOverlay.Layers.Add("SingaporeStreet1", mytown); GeoDbf LineName = new GeoDbf(@"C:\Map\shoreline.dbf"); int Colno = LineName.ColumnCount; for (int j = 1; j <= Colno; ++j) LineName.GetColumnName(j); mytown.Open(); wpfMap1.CurrentExtent = mytown.GetBoundingBox(); // this is to make the map fit into its bounding box mytown.Close(); wpfMap1.Refresh(); // nothing happens after the last statement! Why? Anything wrong with the InternalProjectionParametersString? // Or does MapSuite 4.5 wpf desktop support this kind of Mercator Transformation?