Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自动完成组合框向上/向下箭头键滚动列表_C#_Wpf_Drop Down Menu_Scrollbar_Autocompletebox - Fatal编程技术网

C# 自动完成组合框向上/向下箭头键滚动列表

C# 自动完成组合框向上/向下箭头键滚动列表,c#,wpf,drop-down-menu,scrollbar,autocompletebox,C#,Wpf,Drop Down Menu,Scrollbar,Autocompletebox,我在我的WPF应用程序中创建了一个简单的AutoCompleteBox,它通过截取填充事件加载了大量代码,但是当列表弹出时,我按下向下箭头键并到达列表的末尾,垂直滚动条不会滚动 字段中的值不断变化,就像滚动一样,但滚动条不会移动 如果我用鼠标,它可以滚动 我只需要箭头键来滚动它 有什么想法/建议吗 我是新加入WPF的,一直在搜索此修复程序。我看到了相同的行为。我发现了一个关于另一个问题的讨论,但是在文章的底部,他们有一个支持ScrollIntoView的类AutoCompleteBoxEx,这样

我在我的
WPF
应用程序中创建了一个简单的
AutoCompleteBox
,它通过截取填充事件加载了大量代码,但是当列表弹出时,我按下向下箭头键并到达列表的末尾,垂直滚动条不会滚动

字段中的值不断变化,就像滚动一样,但滚动条不会移动

如果我用鼠标,它可以滚动

我只需要箭头键来滚动它

有什么想法/建议吗


我是新加入
WPF
的,一直在搜索此修复程序。

我看到了相同的行为。我发现了一个关于另一个问题的讨论,但是在文章的底部,他们有一个支持ScrollIntoView的类AutoCompleteBoxEx,这样你就可以连接SelectionChanged,这应该会让你达到你想要的行为。我不知道为什么这不是烤的。我有机会测试了发布的代码

更新


只需将文章中的代码粘贴到一个类中,并通过将AutoCompleteBox更改为AutoCompleteBoxEx并为AutoCompleteBoxEx添加名称空间在XAML中使用它,就可以了。您不必在XAML中指定任何事件,也不需要向代码隐藏中添加任何代码

附加SelectionChanged事件,然后在处理程序内部:

private void AutoCompleteBox_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
    AutoCompleteBox box = (AutoCompleteBox)sender;
    ListBox innerListBox = (ListBox) box.Template.FindName("Selector", box);
    innerListBox.ScrollIntoView(innerListBox.SelectedItem);
}

不是答案,而是一个建议:你知道有一个非常强大的自动完成盒吗?我直接从工具箱窗格中使用自动完成盒控件,我从WPF组件列表中添加了该控件…………这也是你所指的吗?对不起,我不知道为什么,但我想你是说你推出了自己的自动完成盒。我怀疑他们是一样的。很好!这确实有效……我可能会玩它,看看我是否能把页面向下翻页和向上翻页的键也玩得很好