WPF 列调整大小性能问题

2023-11-29

WPF 中是否存在与网格列大小调整相关的已知性能问题?

我有一个应用程序,我需要在列中执行一些特定的操作,但对于所有不同的解决方案,我发现列调整大小变得很慢。这适用于我的列表中通常有超过 1000 个元素的情况,但我认为这对于 WPF 来说并不算太多……?所以;一般问题是您是否经历过列大小调整缓慢,以及您是否找到了解决方案?是什么原因造成的?

关于我的具体案例的更多细节:

我的专栏中可以有两种不同的内容;组合框或文本块。 ComboBox 应填充整个列并跟随列大小调整,并且单击带有 TextBlock 的列的空白区域应选择该行。这就是问题所在。对于所有解决方案,我必须这样做,列大小调整会变得很慢。我发现使调整大小平滑的唯一方法是在它们外部添加一个带有 Orientation="Horizo​​ntal" 的 StackPanel,但这样我无法实现上述样式。

以下是一些观察结果:

  • 将样式 Horizo​​ntalContentAlignment="Stretch" 添加到列表项会使 ComboBox 拉伸且 TextBlock 可单击,但也会使列大小调整速度变慢。
  • 将 Background="Transparent" 添加到 StackPanel 或插入其中的元素也可以解决问题,但会导致调整大小变慢。
  • 添加具有 Orientation="Horizo​​ntal" 属性的外部 StackPanel 可以使调整大小变得平滑,但我无法应用所描述的样式。

您是否尝试过虚拟化 ListView 中的元素?当您进行虚拟化时,虚拟化面板仅为视图中的元素创建视觉效果。这使您可以拥有大量项目,而不会出现您提到的性能问题。看虚拟化堆栈面板更多细节。还布局系统。您可以创建自己的虚拟化面板。如果你在 google 上查找“virtualizing+wpf”,你会发现很多关于虚拟化 Canvas、WrapPanel 等的搜索结果。

我希望这有帮助。

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

WPF 列调整大小性能问题 的相关文章

  • 改进绩效反思 - 我应该考虑哪些替代方案?

    我需要动态地设置对象上的一堆或属性的值 将其称为传输对象 将在短时间内创建相当数量的此类传输对象并设置其属性 我想避免使用反射 还有其他选择吗 如果是的话 有我可以查看的示例实现吗 Use Delegate CreateDelegate h
  • 如何从 Hudson CI API 获得更好的性能?

    我正在尝试为自己编写一个与 Hudson 构建服务器集成的小工具 我目前遇到的障碍是性能 我想做一件简单的事情 比如列出所有作业和上次成功构建的时间 hudson API 提供了此信息 但我要么必须查询所有内容depth 2或者单独查询每个
  • WPF 网络浏览器在 Adob​​e 阅读器窗口中打开 PDF 文件

    我正在创建一个 32 位 WPF 应用程序 它需要在 WebBrowser 控件中显示创建的 PDF 在做的同时 WebBrowser Navigate new Url D TestPDF MyDocument pdf 它在 Adob e
  • RMI 有多快?

    我看到过这样的问题 两个独立的 Java 桌面应用程序之间的通信 https stackoverflow com questions 1680898 communication between two separate java deskt
  • 有效地从 2 个数据帧中查找日期时间范围的重叠

    关于查找日期或时间范围的重叠存在一些问题 例如 https stackoverflow com questions 9044084 efficient date range overlap calculation in python 我用这
  • 使用 Numba 加速矢量距离计算

    以下是我为 3 D 环形几何中的距离 平方 计算编写的一些函数 用于该 3 D 空间中的粒子集合 import itertools import time import numpy as np import scipy import num
  • 如何加快编辑距离计算速度

    我正在尝试运行模拟来测试平均值编辑距离 http en wikipedia org wiki Levenshtein distance之间随机 二进制字符串 我的程序是用 python 编写的 但我正在使用这个C扩展 https githu
  • 为什么 System.AppDomain.CurrentDomain.BaseDirectory 返回不同的结果?

    我将数据库的路径 包含一些 xml 文件的文件夹 存储在 app config 中 在启动时 我检查路径是否存在 如果不存在 我想将路径设置为默认路径 代码如下所示 public void CheckAndRepairSettings Ch
  • WPF 中的数据绑定?

    我正在尝试在 WPF 中设置数据绑定 我有班级人员 它通过一个文本框进行更新 类似老式的 另一个文本框应该通过数据绑定镜像对人员对象的更改 它曾经是 type twoway 但抛出了xamlparse 异常 它不是这样工作的 点击显示 pe
  • ElasticSearch 匹配多个前缀术语

    我试图为 ElasticSearch 提供一个包含多个术语的查询 然后给出匹配的文档 其中指定的术语位于目标字段中的任何位置 这些术语可以是完整的单词或单词前缀 示例文档 msg 你好 我是一条短信 示例查询字符串 你好消息 你好 和 消息
  • 使用 TemplateColumns 将 WPF DataGrid 绑定到 DataTable

    我已经尝试了一切但一无所获 所以我希望有人能给我一个顿悟的时刻 我根本无法获得成功提取数据网格中数据的绑定 我有一个包含 MyDataType 的多列的 DataTable public class MyData string nameDa
  • 使用MVVM Light的Messenger在视图模型之间传递值

    有人可以帮我解释一下 MVVM Light 的 Messenger 吗 我正在阅读 StackOverflow 上的一篇文章 MVVM 在视图模型之间传递值 https stackoverflow com questions 6392854
  • WPF;单击 ListView 中的空白区域时如何取消选择所有选定的项目

    当我有几个 甚至一个 selected items我按简单click在我的空白处ListView 空白 非行 我想取消选择所有选定的项目 这是我取消选择所有项目的功能 private void DeselectAllListViewItem
  • 使用map.get()时使用java Map.containsKey()是多余的

    一段时间以来 我一直想知道在最佳实践中是否允许避免使用containsKey 方法上java util Map而是对结果进行空检查get 我的理由是 两次查找值似乎是多余的 首先是查找containsKey 然后再次为get 另一方面 大多
  • 空 while 循环有什么影响?

    我知道这可能是一个有点 愚蠢 的问题 但有时 我只想循环直到条件为假 但我不喜欢让循环保持为空 所以代替 Visible true while IsRunning Visible false 我通常prefer while IsRunnin
  • 如何在MVVM中实现对话框架构

    我正在开发一个基于 PRISM 框架 Unity Container 的 WPF 4 0 MVVM 应用程序 我想知道在 mvvm 模式中实现对话框的最佳方法是什么 我计划在我的应用程序中使用相当多的东西 所以我想要一些可重用的东西 由于您
  • 为什么无法将 WPFToolkit DataGrid ItemSsource 绑定到 DataTable?

    In a Telerik控制 我能够绑定DataTable直接到ItemSource 但是当我切换到 Codeplex 时WPFToolkit Datagrid
  • 我可以禁用特定控件的键盘输入吗?

    是否可以禁用控件的键盘输入 例如一个ListView 我怎么做 我尝试过覆盖KeyUp KeyDown事件 但显然不是这样的 IsEnabled是一个很好的解决方案 但是我只想禁用键盘交互并保持鼠标交互不变 处理KeyDown事件来得太晚了
  • iOS 自定义单元格设计放在哪里? awakeFromNib 还是 cellForRowAtIndexPath?

    所以 基本上我用笔尖做了一个定制单元 希望我应用一些定制设计 比如颜色和阴影 我发现了两种应用样式的方法 awakeFromNib override func awakeFromNib super awakeFromNib Containe
  • 对于双核手机,availableProcessors() 返回 1

    我最近购买了一部 Moto Atrix 2 手机 当我尝试查看手机中的处理器规格时 Runtime getRuntime availableProcessors 返回 1 proc cpuinfo 也仅包含有关处理器 0 的信息 出于好奇

随机推荐

  • 从 DataGridView 中删除行

    为了初始化我的 VouchersDGV 数据网格视图 我正在使用以下内容 DGV AllowUserToDeleteRows True For i 1 To DGV RowCount 1 DGV Rows Remove DGV Rows i
  • 防止 C# 中 HtmlButton 的回发

    我正在 cs 文件中动态创建 HtmlButton 使用将其添加到面板 HtmlButton b1 new HtmlButton b1 Attribute Add onclick javascript validateNclick this
  • Firebase 中的 OR 查询

    我正在尝试建立一个消息系统 我计划收集消息 然后根据发送者和接收者查询消息 为此 我需要查询例如 由鲍勃发送并由托尼接收的所有消息以及由托尼发送并由鲍勃接收的所有消息 我很不清楚如何执行这个 或 语句 截至目前我有 MessageRef o
  • 如何以编程方式在 jqGrid 中分页到下一页/上一页

    是否有一个 jqGrid 方法可以跳到下一页 上一页行 我试图用 jQuery 以编程方式单击按钮本身 但尚未成功 转到第 123 页 grid grid grid setGridParam page 123 grid trigger re
  • 为从 CSV 文件导入的每一行添加 UUID

    我们想要将 csv 文件中的 10 万行导入到 Cassandra 表中 每行没有唯一的值 因此我们想要向每个导入的行添加 UUID 在从 CSV 文件导入数据时如何自动执行此操作 CSV 文件中的示例行 第一行是列名称 DateTime
  • 如何从 Wix 托管引导程序或自定义操作读取某些注册表项?

    我在从托管引导程序 NET 4 5 2 和自定义操作 尝试过 NET 2 0 和 4 0 读取此密钥时遇到问题 HKEY LOCAL MACHINE SOFTWARE Microsoft Windows CurrentVersion Com
  • 来自 CVImageBuffer 的原始数据无需渲染?

    我从 AVCaptureSession 获取 CVImageBufferRef 我想获取该图像缓冲区并通过网络上传 为了节省空间和时间 我想在不将图像渲染为 CIImage 和 NSBitmapImage 的情况下执行此操作 这是我随处可见
  • 使用 NTLM 进行 Python 机械化时出现 AttributeError: HTTPResponse 实例没有属性 '__iter__'

    我正在尝试使用 python ntlm 和 mechanize 访问通过 NTLM 身份验证保护的网站 但出现此错误 File build bdist macosx 10 6 universal egg mechanize mechaniz
  • 使用巨大的 PHP 脚本防止 504 网关超时

    我目前正在本地计算机 Windows 上运行 Apache 服务器 2 2 我用它来运行一些 PHP 脚本来处理一些繁琐的工作 其中一个脚本涉及大量的移动 调整大小以及将文件下载 上传到另一台服务器的操作 我非常希望脚本能够不断运行 这样我
  • 使用 preg_replace 替换文本中指定的双引号

    我有一个序列化数组 我需要在所有地方替换双引号 如下所示 s 30 test is test to s 30 test quot is quot test 文中可能有很多引用 有人可以帮忙吗 Try preg replace isU 1 q
  • 无法加载文件或程序集“WebDriver,版本=2.35.0.0 ...”

    我按照 用于编码 UI 跨浏览器测试的 Selenium 组件 但我已经下载了最新版本 WebDriver ChromeDriver win32 2 4 0http www nuget org packages WebDriver Chro
  • 如何在客户端使用自定义类型对象

    我是 C 和 WCF 的新手 有 Java 背景 我有一个在 IIS 上托管的 WCF 服务的解决方案 该服务有一个 Employee 类和一个方法 public Employee getEmployee int loginId 此方法采用
  • 如何在新架构中编写 Bigquery,并从 Firebase 分析中替换旧架构中的 event_dim?

    旧的 BigQuery Export 架构明智脚本正在运行 如下所示 但我想复制此代码并根据新的导出架构编写它 因为我们的 Bigquery 架构已更改 请帮忙 因为新的 BigQuery Export 架构我没有找到任何其他对应的记录事件
  • css 'ex' 单位的值是多少?

    不要与Xunit 一个流行的 Net 单元测试库 今天 在一阵无聊中 我开始检查 Gmail DOM 是的 我很无聊 一切看起来都非常简单 直到我注意到某些元素的宽度有一个有趣的规范 著名的 Googlites 使用罕见的 ex 单位指定了
  • 如何访问 XAML DataTemplate Listview 中的元素而不与之交互

    我有一个 C Store 应用程序 并使用 DataTemplate 选择器来确定在绑定到数组的 ListView 控件中使用哪种类型的模板 因为它是模板化的 所以我无法为每个 ListView 行分配动态 x Name 我需要能够通过索引
  • 解析字符串的存储过程

    我需要编写一个输入是字符串的存储过程 输入字符串包含由管道分隔符分隔的变量名称及其值 如下所示 Name Praveen City Hyderabad Mobile 48629387429 Role User etc 在存储过程中我声明了变
  • 创建 AWS Glue 爬网程序时访问被拒绝

    我尝试在 AWS Glue 中创建爬网程序 但出现错误 service AWSGlue statusCode 400 errorCode AccessDeniedException requestId
  • ColdFusion https 连接失败

    我有一个 API 在我的两个 Web 服务器之一上运行良好 但在另一台或我的本地计算机上运行不佳 相反 当我在登录过程中发送 https 请求时 我会遇到连接失败 这些请求非常简单 并且在运行它的三台服务器之一上运行没有问题 第一个如下
  • 捕获触发 DUP_VAL_ON_INDEX 的值

    鉴于这个例子 DUP VAL ON INDEX 异常 是否可以捕获违反约束的值 以便将它们记录下来 如果批量插入产生多个违规 方法是否相同 BEGIN want to capture 01 and 02 INSERT INTO Employ
  • WPF 列调整大小性能问题

    WPF 中是否存在与网格列大小调整相关的已知性能问题 我有一个应用程序 我需要在列中执行一些特定的操作 但对于所有不同的解决方案 我发现列调整大小变得很慢 这适用于我的列表中通常有超过 1000 个元素的情况 但我认为这对于 WPF 来说并