C# 基于文本框文本的自动滚动列表框

C# 基于文本框文本的自动滚动列表框,c#,wpf,mvvm,listbox,autoscroll,C#,Wpf,Mvvm,Listbox,Autoscroll,在WPF和MVVM模式中,我有一个TextBox和一个ListBox。使用数据模板将列表框绑定到项目集合。此集合的默认计数约为50 我想要实现的是一个过滤器式的动作。如果可能的话,我不想更改列表视图或类似的内容,只想滚动到与匹配的文本框相对应的项目,最好不要选择它。 我见过一些使用CollectionView和Filter的示例和解决方案(顺便说一句,它无法正常工作),还有一些使用自动滚动到列表末尾或新添加的项目,但没有一个是针对我的情况的 我的列表框的结构如下所示: <ListBox I

在WPF和MVVM模式中,我有一个
TextBox
和一个
ListBox
。使用
数据模板
列表框
绑定到项目集合。此集合的默认计数约为50

我想要实现的是一个过滤器式的动作。如果可能的话,我不想更改列表视图或类似的内容,只想滚动到与匹配的
文本框相对应的项目,最好不要选择它。

我见过一些使用
CollectionView
Filter
的示例和解决方案(顺便说一句,它无法正常工作),还有一些使用自动滚动到列表末尾或新添加的项目,但没有一个是针对我的情况的

我的
列表框的结构如下所示:

<ListBox IsTextSearchEnabled="True" HorizontalAlignment="Stretch" Margin="6,49,0,0" Name="lbObjectA" VerticalAlignment="Stretch" ItemsSource="{Binding}">
                <ListBox.ItemTemplate>
                    <DataTemplate DataType="{x:Type src:Dto}">
                        <StackPanel Height="20" Orientation="Horizontal">
                            <TextBlock Text="{Binding Path=Name}" Margin="0,3,0,0" />
                    </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
</ListBox>