XamTextEditor では、KeyDown などのイベントをハンドルしているのは XamTextEditor 内部の TextBox となっております。このため、KeyDown イベントなどを登録するには、内部の TextBox を取り出した上で、イベント登録を行います。
実装例:
private void XamTextEditor1_EditModeStarted(object sender, Infragistics.Windows.Editors.Events.EditModeStartedEventArgs e) { var xamTextEditor = sender as XamTextEditor; if (xamTextEditor1 != null) { var innerEditor = Utilities.GetDescendantFromName(xamTextEditor as DependencyObject, "PART_FocusSite") as TextBox; innerEditor.KeyDown += (_sender, _e) => { //...何らかの処理を加える... }; } }
なお、上記コードに含まれる ”PART_FocusSite” に関しては、XamTextEditor の内部に含まれる TextBox の名前となります。公開 API ではないため、命名などが予告なしに変更される可能性がございます。弊社製品のバージョンアップを行われた際には、ご自身で TextBox が取得できていることをご確認下さい。