wpf怎麼讓Textbox只能輸入數字?

weixin_30639719發表於2020-04-05

只需要兩步:

1.禁掉輸入法:

<Window x:Class="WpfModelViewApplication1.Views.MainView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:input="clr-namespace:System.Windows.Input;assembly=PresentationCore"
    Title="Main Window" Height="400" Width="800">
        <Grid x:Name="grid1">
            <TextBox x:Name="tb" Width="100" HorizontalAlignment="Right" Margin="0,164,122,128"  input:InputMethod.IsInputMethodEnabled="False"/>
        </Grid>
</Window>
第二步 採用正規表示式:

<Window x:Class="WpfModelViewApplication1.Views.MainView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:input="clr-namespace:System.Windows.Input;assembly=PresentationCore"
    Title="Main Window" Height="400" Width="800">

 <Grid x:Name="grid1">
            <TextBox x:Name="tb" Width="100" HorizontalAlignment="Right" Margin="0,164,122,128" PreviewTextInput="tb_PreviewTextInput" input:InputMethod.IsInputMethodEnabled="False"/>
        </Grid>

</Window>

cs後臺程式碼:

        

//using System.Text.RegularExpressions;

        private void tb_PreviewTextInput(object sender, TextCompositionEventArgs e)

        {

            Regex re = new Regex("[^0-9.-]+");

            e.Handled = re.IsMatch(e.Text);

        }

 

轉載於:https://www.cnblogs.com/lijinping321/p/4154968.html

相關文章