Carlos,
Thank you so much. I took your code, converted it to C# and it worked! Below is the C# version for C# programmers. Also, I included some comments and explicitly created some variables to be more descriptive.
Inna, I hope this has clarified this issue.
wpfMap1.MapUnit = GeographyUnit.DecimalDegree;
wpfMap1.CurrentExtent = new RectangleShape(-50, 16, 66, -50);
wpfMap1.BackgroundOverlay.BackgroundBrush = new GeoSolidBrush(GeoColor.FromArgb(255, 198, 255, 255));
ShapeFileFeatureLayer worldLayer = new ShapeFileFeatureLayer(@"C:\ThinkGeo\Support\MapData\Countries02.shp");
worldLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.County1;
worldLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
LayerOverlay layerOverlay = new LayerOverlay();
layerOverlay.WrappingMode = WrappingMode.WrapDateline;
layerOverlay.Layers.Add("worldLayer", worldLayer);
wpfMap1.Overlays.Add("WorldOverlay", layerOverlay);
PopupOverlay PopupOv = new PopupOverlay();
wpfMap1.Overlays.Add("PopupOverlay", PopupOv);
//Show a popup on "Real" world
double Longitude = -3;
double LongitudeSpan = 360; //From 180 west to 180 east
Point PopupLocation = new Point(Longitude, 40);
Popup RealWorldPopup = new Popup(PopupLocation);
RealWorldPopup.Content = "Real";
PopupOv.Popups.Add(RealWorldPopup);
//Show a popup on "West virtual" world
PopupLocation.X = -LongitudeSpan + Longitude; //Longitude span is negative because we go the west
Popup LeftVirtualWorldPopup = new Popup(PopupLocation);
LeftVirtualWorldPopup.Content = "Left Virtual";
PopupOv.Popups.Add(LeftVirtualWorldPopup);
//Show a popup on "East virtual" world
PopupLocation.X = LongitudeSpan + Longitude; //Longitude span is positive because we go to the east
Popup RightVirtualWorldPopup = new Popup(PopupLocation);
RightVirtualWorldPopup.Content = "Right Virtual";
PopupOv.Popups.Add(RightVirtualWorldPopup);
wpfMap1.Refresh();