使用数千项优化WPF组合框搜索

使用数千项优化WPF组合框搜索,wpf,performance,combobox,Wpf,Performance,Combobox,我有一个WPF ComboBox控件,其itemsSource包含66000个项目。为了提高加载性能,我使用了VirtualzingStackPanel,它还可以,但现在我遇到了另一个问题 组合框是可编辑的,当我在文本框上键入时,它会开始搜索SelectedItem以匹配…但是它很慢,不会立即响应键入的字符 如何避免这种行为?使用VirtualzingStackPanel只能确保用户界面虚拟化,您可能需要考虑实现数据DavaVtutual< >…< P>使用虚拟化StAdCtPad只确保您将拥

我有一个WPF ComboBox控件,其itemsSource包含66000个项目。为了提高加载性能,我使用了VirtualzingStackPanel,它还可以,但现在我遇到了另一个问题

组合框是可编辑的,当我在文本框上键入时,它会开始搜索SelectedItem以匹配…但是它很慢,不会立即响应键入的字符


如何避免这种行为?

使用VirtualzingStackPanel只能确保用户界面虚拟化,您可能需要考虑实现<强>数据DavaVtutual< <强> >…

< P>使用虚拟化StAdCtPad只确保您将拥有<强> UI VIUTIVAU/START >,但在您的情况下,如ButtCalk可能想指出的那样,您可能需要考虑执行<强>数据循环化< /强>以及

< p>布鲁诺基本上说的:

了解更多有关msdn的信息:

以下是您需要添加到其他绑定中的代码注释…:

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

<ComboBox ItemsPanel="{DynamicResource VirtualPanel}">

或者您可以手动将其添加到

             <ComboBox VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling">
        <ComboBox.ItemsPanel>
            <ItemsPanelTemplate >
                <VirtualizingStackPanel/>
            </ItemsPanelTemplate>
        </ComboBox.ItemsPanel>
    </ComboBox>


布鲁诺基本上是这么说的:

了解更多有关msdn的信息:

以下是您需要添加到其他绑定中的代码注释…:

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

<ComboBox ItemsPanel="{DynamicResource VirtualPanel}">

或者您可以手动将其添加到

             <ComboBox VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling">
        <ComboBox.ItemsPanel>
            <ItemsPanelTemplate >
                <VirtualizingStackPanel/>
            </ItemsPanelTemplate>
        </ComboBox.ItemsPanel>
    </ComboBox>

使用
虚拟化StackPanel.VirtualizationMode=“回收”

这将重用项目容器,而不是创建和丢弃项目容器并提高性能。

使用
virtualizengstackpanel.VirtualizationMode=“Recycling”

这将重用项目容器,而不是创建和丢弃项目容器,并提高性能。

组合框中的66000个项目首先要做什么?这是一个带有客户列表的组合框,有66000个项目。组合框中的66000个项目首先要做什么?这是一个带有客户列表的组合框,有66000件