Windows

Windows Phone TextBox Tap Eventi

Merhaba arkadaşlar,

Bugünkü konumuz kullanıcılardan textbox’lara değer girince öncelikle textboxların içlerini temizlemek istiyoruz. Varsayalım ki aşağıdaki gibi bir ekranımız olsun. Oyunumuzda iki kullanıcıdan da kullanıcı adları bilgilerini almak istiyoruz. Fakat kullanıcı her seferinde değer girmesin diye varsayılan olarak Text özelliklerine değer girelim ve kullanıcı adlarının boş değer döndürmemesine dikkat edelim.

Şimdi aşağıdaki gibi bir ekran tasarlayın.

tasarım

İlk textbox’ın Name özelliğine txtOyuncu1 ikinci textbox’un Name özelliğine ise txtOyuncu2 değerlerini verelim. txtOyuncu1 textbox’ın Text özelliğine Oyuncu1, txtOyuncu2 textbox’ın Text özelliğine Oyuncu2 değerini verelim.

Şimdi eğer kullanıcı bu adları değiştirmek isterse üzerine bir kez tıklayacak ve default olarak girilen Oyuncu1 ve Oyuncu2 değerlerinin temizlenmesini istiyorsak bu textBox’ların Tap özelliğini tetikleyelim. Bunun için properties penceresinden eventler, oradan Tap özelliğini bulun üzerine çift tıklayın.

properties

Yukarıdaki resimde görüldüğü gibi hem Tap eventini tetikledim hem de TextChanged eventini tetikledim. İkisi arasındaki farkı ise şimdi anlatacağım. TextChange eventi o textbox’a her girilen değerde yapılmasını istenilen durumlar yazılır. Burada bizim yapılmasını istediğimiz durum ise Textbox kontrolümüzün içini temizlemek olacaktır. Ben her girdiğim değerde o textbox’ı temizle dersem hiçbir yazı yazamam. İşte bu yüzden Tap eventini kullanıyorum ki bir kere tıklayınca yapılmasını istediğim durumu rahatça yapabileyim.

private void txtOyuncu1_Tap(object sender, System.Windows.Input.GestureEventArgs e)
       {
           txtOyuncu1.Text = string.Empty;
       }

       private void txtOyuncu2_Tap(object sender, System.Windows.Input.GestureEventArgs e)
       {
         txtOyuncu2.Text = string.Empty;
       }

Şimdi iki textBox’ımızı da ilk tıklamayla temizlemiş olduk.

Sırada o textbox’ların içlerinin boş mu dolu mu diye kontrol edilmesine geldi. Ekrana bir buton koyalım ve butonun click eventinde bu kontrolü gerçekleştirelim.

Burada hangi oyuncunun önce başlamasını istediğim için radiobutton kontrolü ile MainPage.xaml sayfasına referans göndererek sayfa yönlendirme işlemini gerçekleştirdim.

private void btnBasla_Click(object sender, RoutedEventArgs e)
        {
            if (txtOyuncu1.Text != string.Empty && txtOyuncu2.Text != string.Empty) {
            if(rdn1.IsChecked==true)
            {
                NavigationService.Navigate(new Uri("/MainPage.xaml?Parametre1=" + txtOyuncu1.Text + "&Parametre2="+txtOyuncu2.Text, UriKind.Relative));
            }
            if (rdn2.IsChecked == true)
            {
                NavigationService.Navigate(new Uri("/MainPage.xaml?Parametre1=" + txtOyuncu2.Text + "&Parametre2=" + txtOyuncu1.Text, UriKind.Relative));
            }
            }
        }

hakkımdaki her şeyi bu blogda bulabilirsin. Haydi sende bir göz gezdirmeye ne dersin?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir