Di DeepEarth, perilaku drag-and-drop peta digunakan untuk menstandardisasi model operasi pengguna seperti pemilihan, pergerakan, dan menggambar saat mengoperasikan peta. DeepEarth merangkumnya di dalam kontrol peta (Map) dengan struktur enumerasinya sebagai berikut:
kode
/// <ringkasan>
/// Memetakan perilaku seret dan lepas
/// </ringkasan>
enum publik DragBehavior
{
/// <ringkasan>
/// Tarik mouse ke titik ikon berbentuk tangan pada peta. Peta akan ditampilkan saat mouse diseret dan diposisikan pada posisi pelepasan mouse.
/// </ringkasan>
Panci,
/// <ringkasan>
///Gambarlah grafik marquee pada peta dengan memilihnya, dan ketika mouse melepaskan pilihan, peta akan ditampilkan pada tingkat yang diperbesar.
/// </ringkasan>
Memilih,
/// <ringkasan>
/// Menggambar grafik pada peta.
/// </ringkasan>
Menggambar
}
Perilaku drag-and-drop di DeepEarth didefinisikan sebagai perilaku drag-and-drop mouse secara default Saat pengguna mengoperasikan peta pada peta yang disajikan, mouse berubah menjadi titik ikon berbentuk tangan dan menyeret peta pada peta. Saat mouse melepaskan tarikan, peta diposisikan sebagai lokasi peta tempat mouse dilepaskan untuk menyeret. Perilaku drag-and-drop default didefinisikan dalam kode sumber sebagai berikut:
//Petakan perilaku seret dan lepas
DragBehavior pribadi _DragMode = DragBehavior.Pan;
Perilaku drag-and-drop peta dijelaskan secara singkat di atas. Mari kita lihat bagaimana menggunakan perilaku drag-and-drop peta dalam pengembangan. Kita dapat menempatkan Tombol pada antarmuka sebagai percobaan, dan beralih perilaku drag-and-drop peta dengan mengklik tombol. Lepaskan fungsi perilaku:
kode
/// <ringkasan>
/// Mengubah perilaku seret dan lepas peta
/// </ringkasan>
/// <param nama="pengirim"></param>
/// <param nama="e"></param>
private void btnDragBehavior_Click(pengirim objek, RoutedEventArgs e)
{
//Tentukan mode drag-and-drop pada peta saat ini--untuk beralih di antara dua mode tersebut
beralih (mapInstance.DragMode)
{
kasus Peta.DragBehavior.Pan:
mapInstance.DragMode = Map.DragBehavior.Pilih;
ToolTipService.SetToolTip(btnDragBehavior, "Beralih ke mode zoom pilihan");
btnDragBehavior.Content = "Pilih";
merusak;
case Map.DragBehavior.Pilih:
mapInstance.DragMode = Peta.DragBehavior.Pan;
ToolTipService.SetToolTip(btnDragBehavior, "Beralih ke mode geser seret dan lepas");
btnDragBehavior.Content = "Seret dan lepas";
merusak;
}
}