有条件防止文本框更改
问题描述:
我在边框内有一个TextBox和一个TextBlock。 TextBlock的Text属性绑定到TextBox的值。当我输入文本框时,边框会根据TextBlock的新大小更改其宽度。有条件防止文本框更改
有一个TextBox.TextChanged事件处理程序,其中我测试边界的大小是否超过特定数量。如果是这样,我想阻止TextBox进行导致处理程序的更改。
如果一个字符总是添加到结尾,我只能对文本进行子字符串排序,但也可能发生其他所有类型的变化,例如将大量文本粘贴到文本框中。
那么,防止处理程序发生变化的方法是什么?我记得在一些WindowsForms e.Cancel属性中设置时会忽略该操作,但没有看到在WPF中TextChangedEventArgs显然没有。
感谢
答
您可以收听PreviewTextInput
事件,并e.Handled
为真,以防止发生作用的变化。
[Dupe](http://stackoverflow.com/questions/335129/cancelling-a-wpf-textbox-changed-event)。 – 2009-04-23 07:30:55