Saya memiliki aplikasi pengujian yang sangat sederhana hanya untuk bermain-main dengan Windows Phone 7. Saya baru saja menambahkan a TextBox
dan a TextBlock
ke template UI standar. Satu-satunya kode kustom adalah sebagai berikut:
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
}
private int counter = 0;
private void TextBoxChanged(object sender, TextChangedEventArgs e)
{
textBlock1.Text += "Text changed " + (counter++) + "\r\n";
}
}
The TextBox.TextChanged
event adalah kabel sampai TextBoxChanged
di XAML:
<TextBox Height="72" HorizontalAlignment="Left" Margin="6,37,0,0"
Name="textBox1" Text="" VerticalAlignment="Top"
Width="460" TextChanged="TextBoxChanged" />
Namun, setiap kali saya menekan tombol saat menjalankan emulator (baik keyboard di layar atau keyboard fisik, setelah menekan Jeda untuk mengaktifkan yang terakhir), penghitung akan bertambah dua kali, menampilkan dua baris di TextBlock
. Semua yang saya coba menunjukkan bahwa acara tersebut benar-benar terjadi dua kali, dan saya tidak tahu mengapa. Saya telah memverifikasi bahwa itu hanya berlangganan sekali - jika saya berhenti berlangganan di MainPage
konstruktor, tidak ada yang terjadi sama sekali (ke blok teks) ketika teks berubah.
Saya sudah mencoba kode yang setara di aplikasi Silverlight biasa, dan itu tidak terjadi di sana. Saat ini saya tidak memiliki ponsel fisik untuk mereproduksi ini. Saya belum menemukan catatan apa pun tentang ini sebagai masalah yang diketahui di Windows Phone 7.
Adakah yang bisa menjelaskan kesalahan saya, atau haruskah saya melaporkan ini sebagai bug?
EDIT: Untuk mengurangi kemungkinan ini menjadi memiliki dua kontrol teks, saya telah mencoba menghapus TextBlock
sepenuhnya, dan mengubah metode TextBoxChanged menjadi hanya kenaikan counter
. Saya kemudian menjalankan emulator, mengetik 10 huruf dan kemudian meletakkan breakpoint pada counter++;
baris (hanya untuk menghilangkan kemungkinan bahwa membobol debugger menyebabkan masalah) - dan itu ditampilkan counter
sebagai 20.
EDIT: Saya sekarang sudah bertanya di forum Windows Phone 7 ... kita akan lihat apa yang terjadi.