2012-03-28 9 views
3

Ich arbeite an Bingmap WPF. Ich habe auf Click-Ereignis der Maus Pins erstellt. Jetzt muss ich es ziehbar machen und die Koordinate nach der Position der Reißzwecke verfolgen. Jeder hat eine Idee, wie man den Pushpin ziehen kann und in welcher Funktion wir Code schreiben müssen, um ihn zu aktualisieren, wenn er veröffentlicht wird.Wie man Reißzwecke ziehen über die Karte in Bingmap WPF

Vielen Dank im Voraus

Antwort

6
Vector _mouseToMarker; 
private bool _dragPin; 
public Pushpin SelectedPushpin { get; set; } 

void pin_MouseDown(object sender, MouseButtonEventArgs e) 
{ 
    e.Handled = true; 
    SelectedPushpin = sender as Pushpin; 
    _dragPin = true; 
    _mouseToMarker = Point.Subtract(
    map.LocationToViewportPoint(SelectedPushpin.Location), 
    e.GetPosition(map)); 
} 

private void map_MouseMove(object sender, MouseEventArgs e) 
{ 
    if (e.LeftButton == MouseButtonState.Pressed) 
    { 
    if (_dragPin && SelectedPushpin != null) 
    { 
     SelectedPushpin.Location = map.ViewportPointToLocation(
     Point.Add(e.GetPosition(map), _mouseToMarker)); 
     e.Handled = true; 
    } 
    } 
} 
+0

eine Maus aufaddiert das Drag-Ereignis zu stoppen und alles funktioniert perfekt guten Herren, vielen Dank für die schnelle Antwort :) – clamchoda