WPF中海量数据绑定Combobox

2023-12-26

我正在尝试将组合框与自定义对象列表绑定。我的对象列表有大约 15K 记录,单击组合框后组合框需要很长时间才能显示数据。

下面是代码:

<ComboBox Height="23" Name="comboBox1" Width="120" DisplayMemberPath="EmpName" SelectedValue="EmpID" VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling"/>

后面的代码:

List<EmployeeBE> allEmployee = new List<EmployeeBE>();
allEmployee = EmployeeBO.GetEmployeeAll();
 comboBox1.ItemsSource = allEmployee;

所有员工都有大约 15K 条记录。 任何人都可以建议我如何提高组合框的性能吗?


这是糟糕的 UI 设计:没有用户会阅读 15K 条记录。

您可以通过允许用户在显示结果之前输入一些过滤条件来提高性能,例如,使用自动完成框 https://stackoverflow.com/questions/2338690/wpf-autocomplete-textbox-again而不是组合框。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF中海量数据绑定Combobox 的相关文章

随机推荐

  • 线程本地存储可以被伪造/黑客攻击吗?

    我发现自己有点进退两难 我有一个大型应用程序 其中有 Google 的 V8 javascript 引擎 一些调用是在 UI 线程上对 V8 引擎进行的 为了像大家建议的那样对用户友好 一些长时间操作在单独的线程上运行 而不挂起 UI 线程
  • 应用程序如何确定其是否由于 Voip Push 而从终止状态启动?

    注意 这个问题是关于VoiP推送的 不是关于普通推送的 注意2 问题不是关于如何设置应用程序来接收 Voip 推送 请正确阅读它实际询问的内容 如果应用程序终止并且 Voip 推送到达 则 didFinishLaunchingWithOpt
  • 未知的 CS1003 错误

    我无法编译我的项目以在实体框架中进行代码优先迁移超过某个点 我正在从 xml 中读取值来填充表 我有以下代码 EnrolmentProgramStartDate var programQuery from r in context Enro
  • 我怎样才能让机器人自己变聋?

    我目前正在尝试让机器人在加入语音频道后立即将其震耳欲聋 我试过了 client ws voice setSelfDeaf true 我也被告知要使用 client ws send 但我不知道如何使用它 我有什么办法可以做到吗 client
  • 从终端杀死 iOS 模拟器

    我试图从终端控制台终止 iOS 模拟器 在 Jenkins 中集成自动 UI 测试所需 但每次我尝试以下命令时 killall SimulatorBridge a prompt waiting for action gets display
  • 使用 Jackson 将通用类序列化为 JSON

    我有一个代表调查问卷的对象结构 我需要序列化为 JSON 该结构的一类是 OpenQuestion 该类使用带有两个参数的泛型 当使用的其中一种类型是 Date 时 问题就开始了 日期序列化错误 比如 long 班级代码 public cl
  • OpenCl 清理导致段错误

    我使用网络上的不同来源构建了自己的 Opencl 小示例 实际的内核可以工作 并且我得到了我想要的输出 但是我在其中一个示例中发现的清理功能导致了段错误 我做错了什么 include
  • 隐藏
  • 而不创建空行
  • 我试图使用以下代码隐藏列表项 例如 ol li Coffee li li Milk li li tea li ol 但不幸的是 它呈现如下 并带有一个空行 1 Coffee 3 Tea 我想要的只是这样 1 Coffee 2 Tea 我想问
  • 如何调试mysql用户自定义函数?

    我有一个 mysql 函数 我想调试它 设置断点 查看该时间段的变量值等 怎么做 从我目前的搜索来看 尽管我可能错过了一些东西 我必须同意 Devart 的观点 即你无法调试 UDF 函数 给您的一项额外建议是使用 stderr 进行调试
  • 木偶、路由器和控制器配置新手

    我一直在研究各种木偶问题 但没有找到我想要的东西 希望有人能给我一些合理的建议和一些指示 我对此很陌生 只是想在我在 github 上选择的样板入门包上进行构建 https github com coombsj RequireJS Back
  • 如何避免 setViewValue 中 TextView/TextSwitcher 更新?

    我在 setViewValue 的代码中更新了 TextSwitcher 的文本 但如果数据库值没有改变 我想避免它的更新 这是我当前的代码 public boolean setViewValue View view Cursor curs
  • 列表列表及其索引中的最大值

    li 1 2 2 3 7 6 如何有效地找到最大值及其索引 假设对于li I want max value 7 max index 2 0 我可以这样做 max value 0 for row idx row in enumerate al
  • SignalR IOS 客户端、Web Socket 传输无法从服务器调用该方法

    我正在使用 SignalR ObjC 客户端在我的 IOS 应用程序和 Net 服务器之间提供通信 我可以连接长拉并调用来自自托管跨域服务器的方法 没有任何错误 但由于我的应用程序需要 我必须使用 WebSocket 我有一个像这样的单例经
  • 一次从 Eclipse 运行两个 Java 程序?

    我正在构建一个 Java Google App Engine 服务器项目和一个 Java 桌面客户端 我想同时运行它们 但我不确定使用 Eclipse GAE 插件是否可以做到这一点 有什么办法吗 我希望能够同时完成它们 我尝试打开一个新的
  • Altera Quartus 谎称未安装 Modelsim

    在 Fedora 22 64 位中安装 Quartus 13 0 和 Modelsim 在 32 位中运行 Quartus 因为否则我会遇到很多很多问题 不过 我可以启动 Quartus 创建项目 综合它 启动仿真窗口并配置输入信号 然后
  • 垂直(和水平)居中

    为什么尝试垂直或水平 或两者 对齐视口 或包装器 中心的某些内容如此痛苦 在过去的一个小时里 我已经尝试了所有我能找到的东西 从 W3Schools 到 S O 再到 MSDN 我只是不知道该怎么做 必须有一种简单的方法来做到这一点 为什么
  • 有没有办法使用按键来调用撬动红宝石宝石?

    我只是在想 如果能够运行一个程序 然后敲击键盘来调用窥探和调试 那该有多好 也许那里有一种宝石可以注入binding pry我不知道的运行时动态 如果没有 您将如何进行插入的按键binding pry在即将执行的下一行 ruby 脚本之前
  • 使用 fs.readFile 在 Node.js 中读取和返回多个文件

    我正在编写一个简单的请求处理程序来返回一对 css 文件 使用 fs readFileSync 这很容易 但是 我很难使用 readFile 的异步版本完成相同的任务 下面是我的代码 将我的 response write 方法调用分为两个不
  • 如何获取上个月(12 月)的名称

    如何在 jQuery 中获取上个月的名称 一个月没用了december var now new Date var currentYear new Date getFullYear var currentMonth GetMonthName
  • WPF中海量数据绑定Combobox

    我正在尝试将组合框与自定义对象列表绑定 我的对象列表有大约 15K 记录 单击组合框后组合框需要很长时间才能显示数据 下面是代码