WPF ListBoxEdit 控件 - 以编程方式引发 PageDown 事件
WPF ListBoxEdit control - Raise PageDown event programmatically
我在 WPF 中有一个 ListBoxEdit DevExpress 控件,我想在单击另一个按钮时向下翻页/向上翻页它的内容。
在 UI 中,当我专注于 ListBoxEdit 控件和键 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);
知道我做错了什么吗?
我找到了:)
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 控件。
我在 WPF 中有一个 ListBoxEdit DevExpress 控件,我想在单击另一个按钮时向下翻页/向上翻页它的内容。
在 UI 中,当我专注于 ListBoxEdit 控件和键 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);
知道我做错了什么吗?
我找到了:)
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 控件。