TextBox.TextChanged olayı iki kez Windows Phone 7 emülatörü ateş
Sadece Windows Phone 7 oynamak için çok basit bir test uygulaması var. Sadece TextBox
ve standart UI TextBlock
bir şablon ekledim. Sadece özel kodu şudur:
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";
}
}
TextBox.TextChanged
olay XAML TextBoxChanged
kablolu:
<TextBox Height="72" HorizontalAlignment="Left" Margin="6,37,0,0"
Name="textBox1" Text="" VerticalAlignment="Top"
Width="460" TextChanged="TextBoxChanged" />
Ancak, her zaman basın bir anahtar içinde çalışan öykünücüsü (veya ekrandaki klavye veya fiziksel, basılı Duraklatmak için etkinleştirmek ikincisi) artışlarla sayaç iki kez, görüntüleme iki satır TextBlock
. Denedim her şeyi olay gerçekten iki kez ateş olduğunu gösterir, ve neden hiçbir fikrim yok. Sadece bir kez abone olmak olduğunu teyit ettik - MainPage
kurucu üyelikten çık ben, hiçbir şey metni değiştiğinde tüm (metin bloğu) olur.
Normal bir Silverlight uygulaması eşdeğer kodu denedim, ve orada böyle bir şey olmadı. Bu anda yeniden oluşturmak için fiziksel bir telefonum yok. Bu herhangi bir kayıt Windows Phone 7 olarak bilinen bir sorun olmasına bulamadım.
Herkes yanlış yaptığımı açıklayabilir, ya da bir hata olarak rapor etmeli miyim?
EDİT: bu iki metin kontrolleri olan aşağı olma olasılığını azaltmak İçin, tamamen TextBlock
kaldırma ve TextBoxChanged yöntemi değiştirmeyi denedimsadeceartım counter
. Sonra emülatör yazılan 10 mektup içinde koşuyoruzsonracounter ;
satırında bir kesme noktası (sadece ayıklayıcıya kırma sorunları neden olan herhangi bir olasılık kurtulmak için) ve counter
20 olarak gösteriyor.
EDİT: şimdi asked in the Windows Phone 7 forum... ne olacağını göreceğiz ettim.
CEVAP
TextChanged
olay iki kere WP7 yangınları nedeni TextBox
Metro bakmak için şablonu esas alan olmuştur nasıl bir yan etkisi olur.
Size Uyum TextBox
şablon düzenleme TextBox
engelliler için ikincil/salt okunur durumunu içerdiğini görürsünüz. Bu, bir yan etki olarak, iki kez ateş etme olayına neden olur.
Değiştirebilirsiniz şablonu kaldırmak için ekstra TextBox
(ve ilişkili Birleşik Devletleri) eğer ihtiyacın yok bu devletler, ya da Değiştir şablon elde etmek için farklı bir görünüm Engelliler/salt okunur devlet olmadan kullanarak bir ikincil TextBox
.
Bu olay sadece bir kez ateş eder.
jQuery textbox change olayı'textb...
Windows Phone 8 emülatörü't Inter...
CRİTİCAL_STRUCTURE_CORRUPTİON BSOD Win...
Nasıl Windows Geri düğmesini Phone 7 b...
Ateş WPF bir liste Görünümü öğesi çift...