Dalam mengembangkan sebuah aplikasi, seringkali kita memerlukan untuk menampilkan notifikasi atau respon tertentu kepada user, misalnya: konfirmasi atas pilihan yang dilakukan oleh user ataupun informasi terhadap pilihan yang diberikan oleh user. Dalam Windows Phone SDK sendiri telah menyediakan kelas MessageBox yang dapat digunakan untuk memudahkan hal tersebut.

Potongan kode yang dapat digunakan untuk menampilkan MessageBox di atas adalah sebagai berikut:
string title = AppResources.ResetGameMessageBoxTitle;
string message = AppResources.ResetGameMessageBoxMessage;
MessageBoxResult mb = MessageBox.Show(message, title, MessageBoxButton.OKCancel);

if (mb == MessageBoxResult.OK)
{
    // TODO: Add reset implementation here.

}
Sayangnya, pilihan respon yang disediakan terbatas hanya ‘”ok” dan “cancel” sehingga kita tidak dapat mengubah pilihan tersebut menjadi lebih banyak atau mengubahnya dengan kata lain. Kini dengan adanya Nokia Premium Developer Program yang memberikan Rad Controls for Windows Phone dari Telerik, hal tersebut dapat dilakukan dengan lebih mudah dan cepat. Langkah-langkah manualnya adalah sebagai berikut:
  1. Tambahkan referensi beberapa .dll files yang diberikan oleh Telerik seperti Telerik.Windows.Core.dll dan Telerik.Windows.Controls.Primitives.dll ke dalam project. Kemudian, tambahkan definisi namespace berikut:
    using Telerik.Windows.Controls;
  2. Tambahkan potongan kode berikut pada bagian kode yang akan digunakan untuk menampilkan MessageBox.
    string title = AppResources.EliminateKeyMessageBoxTitle;
    string msg = AppResources.EliminateKeyMessageBoxMessage;
    List<object> btnContent = new List<object>(){AppResources.DefaultGameMessageBoxOption1, 
                                                    AppResources.DefaultGameMessageBoxOption2};
    RadMessageBox.Show(btnContent, title, msg, null, false, false, HorizontalAlignment.Left, VerticalAlignment.Top, OnMsgBoxKeyboardClosed);
  3. Tambahkan Action<MessageBoxClosedEventArgs> yang berguna sebagai event handler ketika user telah memilih pilihan tertentu.
    private void OnMsgBoxKeyboardClosed(MessageBoxClosedEventArgs e)
    {
        if (e.Result == DialogResult.OK)
        {
            Button btn = e.ClickedButton;
            string command = btn.Content.ToString();
            if (command.Equals(AppResources.DefaultGameMessageBoxOption1))
            {
                // TODO: Response User Option
    
            }
        }
    }
Berikut adalah tampilan dari potongan kode tersebut:

Potongan kode tersebut juga dapat disesuaikan sehingga menampilkan 3 pilihan pada MessageBox seperti pada gambar berikut:

Semoga bermanfaat!

0 komentar:

Posting Komentar

 
Top
Blogger Template