C# WPF ComboBox下拉自动滚动到选中项
时间: 2023-11-16 13:03:53 浏览: 248
要实现ComboBox下拉自动滚动到选中项,可以使用ScrollIntoView方法。该方法将会将指定的项滚动到可见范围内。
首先,创建一个名为ComboBoxExtensions的类。此类将扩展ComboBox控件并添加一个名为ScrollToSelectedItem的静态方法。以下是ComboBoxExtensions类的代码:
```
using System.Windows.Controls;
namespace YourNamespace
{
public static class ComboBoxExtensions
{
public static void ScrollToSelectedItem(this ComboBox comboBox)
{
if (comboBox.SelectedItem != null)
{
comboBox.UpdateLayout();
comboBox.ScrollIntoView(comboBox.SelectedItem);
}
}
}
}
```
然后,在ComboBox选中项更改事件的处理程序中,调用ScrollToSelectedItem方法:
```
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ComboBox comboBox = sender as ComboBox;
comboBox.ScrollToSelectedItem();
}
```
这将会在选中项更改时将下拉列表滚动到选中项。请注意,ComboBox的ItemsSource属性必须已经设置为一个可枚举的集合,以确保ScrollIntoView方法正常工作。
阅读全文