This is what I came up with for a simple way to move my maptips.
Private Sub CIP_MouseEnter(sender As System.Object, e As ESRI.ArcGIS.Client.GraphicMouseEventArgs) Handles CIP.MouseEnter
mypoint = e.GetPosition(CType(myMap, System.Windows.UIElement))
End Sub
Private Sub CIP_MouseLeave(sender As System.Object, e As ESRI.ArcGIS.Client.GraphicMouseEventArgs)
End Sub
Private Sub MapTip_SizeChanged(sender As System.Object, e As System.Windows.SizeChangedEventArgs) Handles MapTipGrid.SizeChanged ' TextBlock2.SizeChanged
Dim voffset, hoffset As Double ' vertical and horizontal offsets
Dim CIPLayer As GraphicsLayer = CType(myMap.Layers("Capital Improvements"), GraphicsLayer) ' The graphicslayer in question
If (myMap.ActualWidth - mypoint.X < e.NewSize.Width) Then 'if the point is withing maptip width of the edge, flip it to the other side by
hoffset = -1 * (e.NewSize.Width + 10) 'moving it the maptipwidth + 10 offest
Else
hoffset = 5
End If
If (myMap.ActualHeight - mypoint.Y < e.NewSize.Height) Then
voffset = -1 * (e.NewSize.Height + 10)
Else
voffset = 5
End If
CIPLayer.MapTip.SetValue(GraphicsLayer.MapTipHorizontalOffsetProperty, hoffset)
CIPLayer.MapTip.SetValue(GraphicsLayer.MapTipVerticalOffsetProperty, voffset)
End Sub
It definitely works but if someone knows of a reason not to do it this way I am all ears or I suppose eyes in this case.