不懂就问-WPF中Handled是干什么用的

问题:Handled是干什么用的,如何限制控件对应事件操作?

解答:Handled是指控件路由是否会生效

举个栗子:比如我们输入框不想触发输入效果,那么我们需要将对应的Handled设置为true即可

实战示例:

限制输入框只能输入数字:

第一步:TextBox加入InputMethod.IsInputMethodEnabled="false"标记为输入框只能输入字母数字等,不能输入汉字

第二步:在TextBox加入PreviewTextInput事件,并且在事件里面进行正则表达式赛选

如图:

 

 

 <TextBox
            Height="40"
            InputMethod.IsInputMethodEnabled="false"
            PreviewTextInput="TextBox_PreviewTextInput" />

 

private void TextBox_PreviewTextInput(object sender, 
            System.Windows.Input.TextCompositionEventArgs e)
        {
            Regex re = new Regex(@"[^0-9|\-|\.]");
            e.Handled = re.IsMatch(e.Text);
        }

 

其中Regex是正则表达式的类,这时需要注意的是 我们刚刚讲到的Handled 我们需要用到IsMatch方法,代表我们输入的内容是否符合我们的正则表达式,如果符合返回True 这个时候我们可以灵活的设置HandledHandled设置为True代表取消当前操作也就是达到限制文本筛选条件

posted @ 2022-06-27 10:34  害羞的青蛙  阅读(560)  评论(0)    收藏  举报