如何使xctk:IntegerUpDown只接受数字?
本文关键字:数字 IntegerUpDown 何使 xctk | 更新日期: 2023-09-27 18:14:46
我试图使xctk:IntegerUpDown
只接受数字。说实话,我很惊讶为什么数字控件会接受非数字。如果有人知道真正的原因,请告诉我。
所以我试着:FormatString
到N
和ParsingNumberStyle
到Integer
,但它仍然接受非数字字符,如字母。我该如何解决这个问题?
您可以使用PreviewKeyDown
事件。我添加了一个TextBox
的例子,应该适用于您的NumericUpDown
。
<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;
}
}