【发布时间】:2021-09-07 20:31:56
【问题描述】:
是否有可能实现一个 TextBox/NumberBox 来实时过滤并只接受数值,就像 NumberBox 通常所做的那样,但不仅仅是在用户完成输入时,如果可以,我该怎么做?
【问题讨论】:
标签: .net xaml uwp winui winui-3
是否有可能实现一个 TextBox/NumberBox 来实时过滤并只接受数值,就像 NumberBox 通常所做的那样,但不仅仅是在用户完成输入时,如果可以,我该怎么做?
【问题讨论】:
标签: .net xaml uwp winui winui-3
一般方法是处理BeforeTextChanging 事件:
private void TextBox_BeforeTextChanging(TextBox sender, TextBoxBeforeTextChangingEventArgs e)
{
if (!string.IsNullOrEmpty(e.NewText))
foreach (char c in e.NewText)
if (!char.IsDigit(c))
{
e.Cancel = true;
return;
}
}
XAML:
<TextBox BeforeTextChanging="TextBox_BeforeTextChanging" />
【讨论】: