Tutaj próbki w celu sprawdzenia, czy naciśnięty klawisz jest dobrze nadaje się do numeru telefonu (cyfry, spacje, kropki i +):
using Windows.System;
...
bool isDigitKey(VirtualKey keyValue)
{
return ((keyValue >= VirtualKey.Number0 && keyValue <= VirtualKey.Number9)||
(keyValue >= VirtualKey.NumberPad0 && keyValue <= VirtualKey.NumberPad9));
}
private void TextBoxTo_KeyDown(object sender, KeyRoutedEventArgs e)
{
// Characters for phone numbers (+, ., space, digits)
Boolean isCharFiltered = !isDigitKey(e.Key) && // Digits
(e.Key != VirtualKey.Space) && // Space
(e.Key != VirtualKey.Add) && // + on NumPad
((int)e.Key != 0xbb) && // + which is not correctly mapped to VirualKey.Add
(e.Key != VirtualKey.Decimal) && // . on NumPad
((int)e.Key != 0xbe); // . which is curiously mapped to Shift
// Unfortunately, we can't filter à, é and è on a french keyboard because these keys are mapped to Number0, Number2 and Number7
e.Handled = isCharFiltered;
}
Poszukujecie 'KeyRoutedEventArgs.Key'? – shahkalpesh
Należy zachować ostrożność, aplikacje Windows Store są rozpowszechniane na całym świecie. Szczególnie użytkownicy w Azji mają niezwykłe opinie na temat tego, jak wyglądają cyfry i litery. –