2017-09-21 7 views
0

WPFでListBoxEdit DevExpressコントロールを取得しました。別のボタンをクリックしたときにその内容をページアップ/ページダウンしたいと考えています。WPF ListBoxEditコントロール - PageDownイベントをプログラムで発生させる

ListBoxEditコントロールとKeyDown PageDownにフォーカスすると、それが機能します。

プログラムで試してみると失敗します。私のコードは、DataSourceListは私のListBoxEditコントロールのx:Nameの下にあります。

var presentationSource = PresentationSource.FromDependencyObject(this.DataSourceList); 
var args = new KeyEventArgs(Keyboard.PrimaryDevice, presentationSource, 0, Key.PageDown); 

args.RoutedEvent = Keyboard.KeyDownEvent; 
this.DataSourceList.RaiseEvent(args); 

私は間違っていますか?

答えて

0

私はそれを見つけました:)

var child = this.DataSourceList.VisualChildren().FirstOrDefault(t => t.GetType() == typeof(ListBoxEditItem)); 
if (child != null) 
{ 
     var args = new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0,Key.PageDown); 
     args.RoutedEvent = Keyboard.KeyDownEvent; 
     args.Source = child; 
     InputManager.Current.ProcessInput(args); 
} 

イベントのソースがListBoxEditItemはなくListBoxEdit制御にする必要がありながら、this.DataSourceList.RaiseEvent(args);はトリックをしなかったようです。

関連する問題