我开发了一个 WPF 文本框,它在我们不断在文本框中输入数字时格式化数字。这是使用交互行为。现在,它适用于普通的常规键盘。但是由于我们支持全球化,文本框也应该支持日文字符(数字)以及全角字符。所以要测试,当我在(windows-controlpanel-region & langauage - 键盘和语言 - 更改键盘)中选择日文键盘 - Microsoft IME 并输入日文数字时,我的交互行为代码(连接)AssociatedObject_PreviewTextInput 在我按下之前不会被调用'输入'键,这给我带来了其他问题。对于普通键盘,只要我输入数字,这个函数就会被调用。
代码如下
private void AssociatedObject_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
TextBox tb = sender as TextBox;
// other stuff
}
protected override void OnAttached()
{
base.OnAttached();
AssociatedObject.PreviewTextInput += AssociatedObject_PreviewTextInput;
/// other stuff
}
任何帮助表示赞赏。谢谢你。