Problem wynika z faktu, że kontrolka TextBox zawiera w sobie drugi TextBox, który jest wykorzystywany dla stanu readonly/disabled - stąd podwójne wywołanie! Ten błąd jest niestety reprodukowalny na fizycznym aparacie, dlatego też trzeba sobie z nim poradzić w ten czy inny sposób.
Więc jeśli:
- zamierzamy korzystać z eventu TextChanged dla TextBox-a
- kontrolka będzie zawsze aktywna na stronie (enabled)
- kontrolka nigdy nie będzie w stanie readonly
Krok po kroku
- Otwórz solucję w Microsoft Expression Blend.
- Znajdź nieszczęsny TextBox.
- Z menu kontekstowego wybierz: "Edit template" -> "Edit a Copy...":
- Po wykonaniu ww. kroku w App.xaml zostanie utworzony nowy styl dla kontrolki TextBox o nazwie TextBoxStyle1.
- Teraz musimy do wyedytować, wybierając z menu kontekstowego "View XAML".
- Tutaj musimy zakomentować fragment odpowiedzialny za wyświetlanie TextBox-a w stanie readonly/disabled (szukaj łańcucha DisabledOrReadonlyBorder)
- Problem rozwiązany! :-)
1 komentarz:
Problem z dwukrotnym wywołaniem zdarzenia TextChanged w TextBox | WP7 blog - programowanie w .NET...
Dziękujemy za publikację - Trackback z dotnetomaniak.pl...
Prześlij komentarz