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 列调整大小性能问题 的相关文章

  • WPF WebBrowser (3.5 SP1) 始终位于顶部 - 在 WPF 中显示 HTML 的其他建议

    我一直在拼命寻找一种在 WPF 应用程序中显示 HTML 的简单方法 有一些选项 1 使用WPF Web浏览器控件2 使用帧控制3 使用第三方控件 但是 我遇到了以下问题 1 WPF WebBrowser Control不是真正的WPF 它
  • 拖动用户控件,但将其保留在 WPF 中其父级的边界内

    我有一个用户控件 正在将其拖动到网格内 Z Index 设置得相当高 这样我就可以将其保持在其他孩子之上 拖动控件效果很好 但如果用户想要将控件移到网格之外 它会允许这样做 How do I keep it from leaving the
  • 样式组件如何影响性能?

    使用样式组件是否比样式表更会降低 Web 应用程序的速度 如果我关心性能并且没有任何依赖于 props 的样式 我是否应该放弃样式组件并使用样式表 当您有很多小组件时 同时使用样式化组件渲染 性能开销可能会很有意义 绝对值得测试以删除小元素
  • MySQL InnoDB 查询性能

    我正在尝试优化一个简单的 sql 查询 该查询将多次运行大量数据 这是场景 MySQL 与 InnoDB 表 where 和 join 中使用的所有字段都已索引 表有 FK 我不需要查询的整个缓存 但每个表的缓存是可能的 表有更多的更新 插
  • 空 while 循环有什么影响?

    我知道这可能是一个有点 愚蠢 的问题 但有时 我只想循环直到条件为假 但我不喜欢让循环保持为空 所以代替 Visible true while IsRunning Visible false 我通常prefer while IsRunnin
  • 转换BitmapImage后内存未释放

    我遇到以下 C 测试 代码的问题 public static void TestBitmap2ByteArray BitmapImage bitmap JpegBitmapEncoder encoder new JpegBitmapEnco
  • 调整 SKShapeNode 的大小

    如何调整 SKShapeNode 的大小 到目前为止我尝试过的 调整框架大小 box frame width 10 给出错误Cannot assign to the result of this expression SKAction le
  • 如何找到 IIS 在负载/性能测试期间模拟的平均并发用户数?

    我正在使用 JMeter 进行负载测试 我正在练习通过简单地增加我的分布式 JMeter 测试用例中的线程数并启动测试来查找我们的网络服务器可以处理的最大并发线程 用户 数量 然后 我突然意识到 虽然 MAX 数字可能有用 但REAL我的网
  • iOS 自定义单元格设计放在哪里? awakeFromNib 还是 cellForRowAtIndexPath?

    所以 基本上我用笔尖做了一个定制单元 希望我应用一些定制设计 比如颜色和阴影 我发现了两种应用样式的方法 awakeFromNib override func awakeFromNib super awakeFromNib Containe
  • 重写 WPF 工具包图表中的 DataPointStyle

    我想覆盖DataPointStyle of the LineSeries在我的 WPF 工具包中Chart
  • 网格内的 ContentPresenter 可见性绑定不起作用?

    我有以下网格
  • 列表视图上的 TextBlock:如何忽略 TextBlock 中的点击并让列表视图处理它们

    我有一个显示大量信息的列表视图 但是当它为空时 我想在其上覆盖一个文本块 上面写着 没有要显示的信息 或 bla bla bla 添加信息 列表视图设置为响应鼠标单击 但现在如果我单击文本块 这些事件将路由到文本块 我怎样才能让这些事件转到
  • 这个 cProfile 结果告诉我需要修复什么?

    我想提高Python脚本的性能并且一直在使用cProfile生成性能报告 python m cProfile o chrX prof bgchr py args 我打开这个chrX prof使用 Python 的文件pstats并打印出统计
  • 按比例调整图片框的大小以调整表单大小

    我希望每次 用户调整表单的大小 图片框中的图像也使用相同的值 按比例 调整大小 我在互联网上搜索了一些代码并在中找到了这个答案堆栈溢出 https stackoverflow com a 6501997 3264464 https stac
  • 有谁知道一种更快的方法来执行 String.Split() 吗?

    我正在读取 CSV 文件的每一行 并且需要获取每一列中的各个值 所以现在我只是使用 values line Split delimiter where line是保存由分隔符分隔的值的字符串 衡量我的表现ReadNextRow我注意到它花费
  • 比较运算符性能 <= 与 !=

    让我们首先声明代码可读性胜过微优化 我们应该将其留给编译器 这只是一个奇怪的案例 具体细节似乎与一般建议相比很有趣 因此 我在搞素数生成器函数 并提出了一种奇怪的行为 其中 人们建议效率最高 实际上效率最低 而 C private stat
  • 更改鼠标悬停时的矩形背景

    所以我有一个没有背景的矩形 当用户将鼠标悬停在其上时 我想给它一个背景渐变 然后当鼠标离开矩形时删除渐变 请有人发布所需的代码 并告诉我将其放在 cs xaml 文件中的位置吗 Thanks This
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite

随机推荐

  • 从 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 来说并