我在WPF中有一个ListBoxEdit DevExpress控件,我想在点击另一个按钮时向下翻页/翻页。
在UI中,当我专注于ListBoxEdit控件和键PageDown时,它可以工作。
当我以编程方式尝试时,它失败了。我的代码在下面,DataSourceList是x:我的ListBoxEdit控件的名称。
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 :(得分: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);
}
似乎this.DataSourceList.RaiseEvent(args);
没有做到这一点,而事件的来源必须是ListBoxEditItem而不是ListBoxEdit控件。