Pada 2 postingan sebelumnya, yang dapat dilihat disini dan disini, saya telah menjelaskan tentang Map control pada Windows Phone 7. Nah, pada postingan kali ini, saya masih akan membahas tentang Map control pada Windows Phone 7 namun dalam aplikasi yang menggunakan Pivot control.
Pivot Control
Pivot Control merupakan sebuah control pada Windows Phone yang mempercepat pengaturan view atau halaman. Control ini bisa digunakan untuk memfilter dataset yang besar, menampilkan banyak dataset, atau berpindah-pindah antar view dalam satu aplikasi.
Dasar dari sebuah aplikasi berbasis Pivot adalah sebuah Pivot control yang merupakan container untuk secondary control yang disebut PivotItem. PivotItem ini mengandung konten-konten seperti grid, link, atau dalam kasus ini sebuah map dalam tiap halamannya.

Pivot Control Navigation
Untuk menavigasikan Pivot control ini, kalian tidak perlu mengimplementasikan special gesture apapun pada aplikasi kalian karena Pivot control ini, by default, sudah dibekali dengan built-in touch interaction. Touch interaction yang didukung oleh control ini antara lain:
- Horizontal pan
- Horizontal flick
- Navigating hosted controls
Problem
Permasalahan utama dalam menempatkan sebuah control yang mensupport flick interaction seperti Map pada Pivot adalah bila Anda melakukan flick pada Map searah dengan Pivot, maka tampilan pada layar akan berpindah ke halaman sebelum/setelahnya tergantung dari arah flick Anda.
Cobalah buat sebuah aplikasi Pivot pada Visual Studio 2010, dan masukkan Map control ke dalam halaman pertama. Jalankan aplikasi Anda dan cobalah untuk menavigasikan Map-nya. Anda akan menemukan dua buah bug yaitu:
- Saat menavigasikan Map, aplikasi Anda akan crash
- Saat Anda melakukan fast flick pada Map, maka halaman pada layar akan berpindah
Solution
Solusi untuk menyelesaikan permasalahan tersebut adalah dengan menggunakan fungsi IsHitTestVisible yang merupakan sebuah fungsi boolean dari WPF yang dapat meng-enable atau men-disable nilai true yang muncul bila touch event terjadi pada sebuah komponen. Jadi, bila Anda menset properti IsHitTestVisible pada sebuah Pivot menjadi false saat terdapat event MouseLeftButtonDown pada Map, maka Anda dapat menavigasikan Map dengan bebas tanpa perlu khawatir akan berpindah halaman.
Aplikasi ini bisa Anda download disini. Enjoy…