//前台UI设置
<TextBox Width="100" Height="30" PreviewTextInput="TextBox_PreviewTextInput" PreviewKeyDown="TextBox_PreviewKeyDown" InputMethod.IsInputMethodEnabled="False"/>
InputMethod.IsInputMethodEnabled="False"禁用输入法
后台代码限定只能输入数字
private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
short val;
if (!Int16.TryParse(e.Text, out val))
e.Handled = true;
if(e.KeyChar ==(char)('.')&&((TextBox)sender).Text.IndexOf('.')!=-1) //小数点只能输一次
{
e.Handled = true;
}
//第一位不能为小数点
if (e.KeyChar == (char)('.') && ((TextBox)sender).Text == "")
{
e.Handled = true;
}
//第一位是0,第二位必须为小数点
if (e.KeyChar != (char)('.') && ((TextBox)sender).Text == "0")
{
e.Handled = true;
}
}
private void TextBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Space)
e.Handled = true;
}