【发布时间】:2009-05-06 12:01:56
【问题描述】:
WPF 中是否存在与调整网格列大小相关的一般已知性能问题?
我有一个应用程序,我需要在一个列中做一些特定的事情,但是对于所有不同的解决方案,我发现调整列大小变得很慢。这适用于我的列表中通常有超过 1000 个元素的情况,但我认为这对于 WPF 来说并不算多..?所以;一般的问题是您是否经历过缓慢的列大小调整,以及您是否找到了解决方案?是什么原因造成的?
关于我的具体案例的更多细节:
我的专栏中可以有两种不同的内容;组合框或文本块。 ComboBox 应该填充整个列并跟随列调整大小,然后单击带有 TextBlock 的列的空白区域应该选择该行。这就是问题所在。对于我必须解决的所有解决方案,列调整大小会变慢。我发现使调整大小变得平滑的唯一方法是在它们之外添加一个 StackPanel,并使用 Orientation="Horizontal",但是这样我无法实现上述样式。
以下是一些观察:
- 向列表中的项目添加样式 HorizontalContentAlignment="Stretch" 会使 ComboBoxes 拉伸并且 TextBlocks 可点击,但列调整大小也会变慢。
- 将 Background="Transparent" 添加到 StackPanel 或插入其中的元素也可以解决问题,但会使调整大小变慢。
- 添加属性 Orientation="Horizontal" 的外部 StackPanel 可以使调整大小变得平滑,但我无法应用所描述的样式。
【问题讨论】:
-
我以前在我的应用程序中看到过这种情况,但它不再发生,我不知道为什么。很抱歉我提供的信息太少了,但至少你知道你没有疯。您使用的是什么版本的 .NET 框架。 Microsoft 声称在 3.5 和 3.5 SP1 中有许多性能改进。
标签: wpf resize performance