问题描述
privatevoidTextBox_PreviewTextInput(objectsender,TextCompositionEventArgse){shortval;if(!Int16.TryParse(e.Text,outval)){e.Handled=true;}}小弟最近学习wpf看到这段路由事件,书上说Handled属性用来终止路由事件传播,可是这个方法为什么能阻止非数字的字符录入呢
解决方案
解决方案二:
if(!Int16.TryParse(e.Text,outval))TryParse这个方法验证e.Text能否转换为Int。如果不能,则终止路由事件传播。
解决方案三:
那么为什么终止路由事件传播会阻止字符在textbox中显示呢难道显示字符是写在路由事件里面的?
解决方案四:
引用1楼guwei4037的回复:
if(!Int16.TryParse(e.Text,outval))TryParse这个方法验证e.Text能否转换为Int。如果不能,则终止路由事件传播。
为什么终止传播会不显示字符呢?显示过程跟事件有什么关系吗
时间: 2024-11-03 18:48:37