Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数百个条目添加到组合框中_C#_Wpf_List_Dictionary_Combobox - Fatal编程技术网

C# 将数百个条目添加到组合框中

C# 将数百个条目添加到组合框中,c#,wpf,list,dictionary,combobox,C#,Wpf,List,Dictionary,Combobox,我有300多个条目要从WPF应用程序中的字典添加到组合框中 public Dictionary<int, string> NameList() { Dictionary<int, string> names = new Dictionary<int, string> { { 1, "John Johnson" } } } 但是,当打开主窗口时,应用程序启动会有明显的滞

我有300多个条目要从WPF应用程序中的字典添加到组合框中

public Dictionary<int, string> NameList()
{
        Dictionary<int, string> names = new Dictionary<int, string>
        {
            { 1, "John Johnson" }
        }
}
但是,当打开主窗口时,应用程序启动会有明显的滞后/延迟,第一次打开组合框时也会有延迟


有没有更好的方法来实现这一点,可能是异步的?谢谢大家!

我发现,实现此场景解决方案的最佳方法是让您的组合框使用VirtualzingStackPanel实现itempaneltemplate。此外,使用backgroundworker进程加载组合框。我已经用包含1000个项目的组合框实现了这一点。

您有测试虚拟化面板吗请参见@G.Sofien这篇文章效果非常好,谢谢!
this.Dispatcher.Invoke(() =>
        {
            NameComboBox.ItemsSource = NameList().Values;
        });