ListBox 总是滚动到打开 ComboBox 的项目

ListBox always scrolls to item with open ComboBox

我使用包含 ListBoxItem 样式的自定义词典创建了一个列表框,自定义项包含两个组合框。但是,当我单击不在列表顶部的项目的组合框时,列表会自动滚动,因此带有打开组合框的项目位于列表顶部。 看起来真的很奇怪,所以我想让它停下来。

我已经将 ListBox 更改为 ListView,并将 Itemtemplate 更改为 ListBoxItem,但它并没有改变任何东西。

我很乐意接受任何建议,谢谢。

您可以使用自定义样式和 RequestBringIntoView-事件的事件-setter 覆盖此“滚动行为”:

<ListView.ItemContainerStyle>
    <Style TargetType="{x:Type ListViewItem}">
         <EventSetter Event="RequestBringIntoView" Handler="MyListView_OnRequestBringIntoView"/>
    </Style>
</ListView.ItemContainerStyle>


private void MyListView_OnRequestBringIntoView(object sender, RequestBringIntoViewEventArgs e)
{
    e.Handled = true;
}