SORU
9 AĞUSTOS 2010, PAZARTESİ


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
2 NİSAN 2011, CUMARTESİ


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HBO

    HBO

    17 Mayıs 2006
  • HowToBasic

    HowToBasic

    8 Aralık 2011
  • Philip DeFranco

    Philip DeFra

    16 EYLÜL 2006