在WPF中处理TextBox的PreviewTextInput
事件时,事件参数(TextCompositionEventArgs
)的Text属性是否可以包含通过键盘输入的最后一个字符以外的其他内容?
我给了它一个彻底的测试,它似乎只包含最后一个按键的单个字符值。但是,我可能遗漏了一些明显的东西,因为它的类型是String
而不是Char
。
答案 0 :(得分:4)
来自UIElement.PreviewTextInput文档。
键盘是PreviewTextInput的主要手段; 但是发言, 手写和其他输入设备也可以生成 PreviewTextInput 强>
我认为非键盘源一次可以提供多个字母。
答案 1 :(得分:1)
是的,它只会为您提供按下的最后一个字符。
答案 2 :(得分:1)
它只会为你提供你所按的角色,你怎么能从文本框中获取完整的文本Text属性本身就像var text = (sender as TextBox).Text
答案 3 :(得分:0)
是的,顾名思义,它会预览大多数情况下恰好是单个字符的每个输入。
使用 TextCompositionEventArgs,您可以使用 e.Text 访问新文本。
或者, 如果你想要整个文本,你可以像
string full = myTextBox.Text.Insert(myTextBox.CaretIndex, e.Text);