2016-10-24 3 views
0

Я пытаюсь сделать xctk:IntegerUpDown принимает только цифры. Честно говоря, я был удивлен, почему числовой элемент управления будет принимать цифры без цифр. Если кто-нибудь знает фактическую причину этого, пожалуйста, скажите мне.Как сделать xctk: IntegerUpDown принимать только цифры?

Так что я пытался: FormatString к N и ParsingNumberStyle к Integer, но он по-прежнему принимает нецифровые символы, такие как буквы. Как это исправить?

ответ

0

Вы можете использовать событие PreviewKeyDown. Я добавляю пример с TextBox, который также должен работать на ваш NumericUpDown.

XAML:

<TextBox PreviewKeyDown="OnPreviewKeyDown" /> 

CS:

public void OnPreviewKeyDown(object sender, KeyEventArgs args) 
{ 
    switch (args.Key) { 
     case Key.D0: case Key.NumPad0: 
     case Key.D1: case Key.NumPad1: 
     case Key.D2: case Key.NumPad2: 
     case Key.D3: case Key.NumPad3: 
     case Key.D4: case Key.NumPad4: 
     case Key.D5: case Key.NumPad5: 
     case Key.D6: case Key.NumPad6: 
     case Key.D7: case Key.NumPad7: 
     case Key.D8: case Key.NumPad8: 
     case Key.D9: case Key.NumPad9: 
      args.Handled = false; 
      break; 
     default: 
      args.Handled = true; 
      break; 
    } 
} 
Смежные вопросы