In DeepEarth wird das Drag-and-Drop-Verhalten der Karte verwendet, um das Bedienmodell des Benutzers wie Auswahl, Bewegung und Zeichnen beim Bedienen der Karte zu standardisieren. DeepEarth kapselt es in das Kartensteuerelement (Map) mit einer Aufzählungsstruktur. Der Quellcode lautet wie folgt:
Code
/// <Zusammenfassung>
/// Drag-and-Drop-Verhalten der Karte
/// </summary>
öffentliche Aufzählung DragBehavior
{
/// <Zusammenfassung>
/// Ziehen Sie die Maus zum handförmigen Symbolpunkt auf der Karte. Die Karte wird angezeigt, während die Maus gezogen und an der Position positioniert wird, an der die Maus losgelassen wird.
/// </summary>
Pfanne,
/// <Zusammenfassung>
///Zeichnen Sie eine Markierungsgrafik auf der Karte, indem Sie sie auswählen. Wenn die Maus die Auswahl aufhebt, wird die Karte vergrößert angezeigt.
/// </summary>
Wählen,
/// <Zusammenfassung>
/// Grafiken auf der Karte zeichnen.
/// </summary>
Ziehen
}
Das Drag-and-Drop-Verhalten in DeepEarth ist standardmäßig als Maus-Drag-and-Drop-Verhalten definiert. Wenn der Benutzer die Karte auf der präsentierten Karte bedient, verwandelt sich die Maus in einen handförmigen Symbolpunkt und zieht die Karte auf der Karte Wenn Sie die Maustaste loslassen, wird die Karte an der Stelle auf der Karte positioniert, an der die Maus zum Ziehen losgelassen wird. Das standardmäßige Drag-and-Drop-Verhalten ist im Quellcode wie folgt definiert:
//Drag-and-Drop-Verhalten zuordnen
private DragBehavior _DragMode = DragBehavior.Pan;
Das Drag-and-Drop-Verhalten der Karte wird oben kurz beschrieben. Schauen wir uns an, wie das Drag-and-Drop-Verhalten der Karte in der Entwicklung verwendet wird. Wir können versuchsweise eine Schaltfläche auf der Benutzeroberfläche platzieren Sie können das Drag-and-Drop-Verhalten der Karte durch Klicken auf die Schaltfläche „Verhalten freigeben“ ändern:
Code
/// <Zusammenfassung>
/// Ändern Sie das Drag-and-Drop-Verhalten der Karte
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnDragBehavior_Click(object sender, RoutedEventArgs e)
{
//Bestimmen Sie den Drag-and-Drop-Modus der aktuellen Karte – um zwischen den beiden Modi zu wechseln
Schalter (mapInstance.DragMode)
{
Fall Map.DragBehavior.Pan:
mapInstance.DragMode = Map.DragBehavior.Select;
ToolTipService.SetToolTip(btnDragBehavior, „In den Auswahlzoommodus wechseln“);
btnDragBehavior.Content = "Select";
brechen;
Fall Map.DragBehavior.Select:
mapInstance.DragMode = Map.DragBehavior.Pan;
ToolTipService.SetToolTip(btnDragBehavior, „In den Drag-and-Drop-Schwenkmodus wechseln“);
btnDragBehavior.Content = "Drag and Drop";
brechen;
}
}