使用数千个项目优化WPF ComboBox搜索

Luc*_*ini 1 wpf performance combobox

我有一个WPF ComboBox控件,itemsSource为66000项.为了提高加载性能,我使用了VirtualizingStackPanel,没关系,但现在我还有另外一个问题.

ComboBox是可编辑的,当我在TextBox上键入时,它开始搜索SelectedItem以匹配...但它很慢并且不会立即响应键入的字符.

怎么能避免这种行为?

Dav*_*son 5

布鲁诺基本上说了什么:

阅读msdn更多信息:http: //msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.aspx

这是代码注意您需要在其他绑定中添加...:

<ItemsPanelTemplate x:Key="VirtualPanel">
    <VirtualizingStackPanel />
</ItemsPanelTemplate>

<ComboBox ItemsPanel="{DynamicResource VirtualPanel}">
Run Code Online (Sandbox Code Playgroud)

或者你可以手动添加它...

             <ComboBox VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling">
        <ComboBox.ItemsPanel>
            <ItemsPanelTemplate >
                <VirtualizingStackPanel/>
            </ItemsPanelTemplate>
        </ComboBox.ItemsPanel>
    </ComboBox>
Run Code Online (Sandbox Code Playgroud)