C#AddHandler PreviewTextInput

时间:2019-03-04 00:16:36

标签: c# wpf xaml

因为我有一个变量列表,所以我正在代码中构建xaml结构 输入的长度。一切都很好,但是由于我绑定了 TextBox转换为整数,我需要在输入发生时对其进行验证。绑定 已经忽略了不符合整数的输入,并带有边框 TextBox以红色显示。但是,依靠它是混乱的,我不喜欢它。一世 想为TextBox.AddHandler()添加PreviewTextInputxTextBox.AddHandler(TextBox.PreviewTextInput, new TextCompositionEventArgs(keyPressDown)); ,但出现错误。

xaml
  

错误-非静态字段,方法或属性需要对象引用

  

错误-没有给出与所需参数'composition'相对应的参数...

当我编写测试程序并在ROW_NUMBER()窗口中进行绑定时,它可以完美地工作。那么我在代码中做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试一下:

xTextBox.AddHandler(TextBox.PreviewTextInputEvent, new TextCompositionEventHandler(keyPressDown));

或者您也可以这样做:

xTextBox.PreviewTextInput += keyPressDown;

作为附带说明,拥有可变长度的项目列表并不是在数据绑定上使用代码后置的有效理由,如果有的话,甚至更可能是原因!