2012-03-13 14 views
16

Jak ustawić klawiaturę tak, aby otwierała się w trybie numerycznym lub bezpośrednio otwiera specjalną klawiaturę numeryczną (jak w Androidzie) ??? Moim celem jest uniknięcie naciśnięcia małego przycisku, aby przełączać litery i cyfry za każdym razem przed wprowadzeniem wartości, która może być tylko wartością liczbową. Mam pole tekstowe, które użytkownik musi edytować. Dzięki!Otwórz klawiaturę numeryczną tylko w systemie Windows Phone?

Odpowiedz

48

Ustaw InputScope na Number.

XAML

<TextBox InputScope="Number" Name="txtPhoneNumber" /> 

C#

InputScope scope = new InputScope(); 
InputScopeName name = new InputScopeName(); 

name.NameValue = InputScopeNameValue.Number; 
scope.Names.Add(name); 

txtPhoneNumber.InputScope = scope; 

Powyżej fragmenty kodu pochodzą z this MSDN article które można przejrzeć po więcej informacji. Jak dodał Martin w komentarzu, można również zobaczyć zrzuty ekranu różnych opcji InputScope here.

+2

Ten link daje screeny z InputScopes: http://msdn.microsoft.com/en-us/ library/hh393998 (v = vs.92) .aspx – Martin

+0

@Martin Świetny dodatek! –

0

ustawić właściwość InputScope, numeryczna jest rozmowa

7
InputScope="Number" 

TextBox numercicTextBox = new TextBox(); 
// ...propriétés de la textbox à initialiser + l'ajouter dans le ContentPanel 
numercicTextBox.KeyDown += new KeyEventHandler(numercicTextBox_KeyDown); 

void numercicTextBox_KeyDown(object sender, KeyEventArgs e) 
     { 
      if (System.Text.RegularExpressions.Regex.IsMatch(e.Key.ToString(),"[0-9]")) 
       e.Handled = false; 
      else e.Handled = true; 

     } 
+0

Geret to mi pomoże – MansinhDodiya

+0

Najlepszy przykład, jaki widziałem. Nie musisz kontrolować wszystkich znaków specjalnych, po prostu kontroluj te, których potrzebujemy. Wspaniały. – Eagle

Powiązane problemy