我有一个 Silverlight 应用程序,它为用户提供了一个非常简单的表单来填写。标签 (TextBlocks) 和字段 (TextBoxes) 如您所料在网格中布局。我们遇到了一个问题,当一个 TextBlock 的 Opacity 设置为 0 时,应用程序会不断地重新渲染自己,并通过打开 enableRedrawRegions 参数来验证(顺便说一句非常有用)。这种不断的重新渲染会使 CPU 使用率高达 85% 左右,即使它只是一种静态形式。我们从将 Opacity 设置为 0 更改为将 Visibility 设置为 Collapsed 并固定 Grid RowDefinition 上的高度以免改变布局,这停止了这种行为,CPU 现在再次处于 0%。
至少在 PC 上是这样……但是在 Mac 上,只要我打开这个表单,我的 CPU 使用率就会达到 24%(在 8 核 Mac Pro 上),并且无论如何都不会回到这个值以下。有没有其他人见过类似的行为?有什么解决办法吗?应用程序本身根本没有做任何事情,只是等待用户输入......
卡尔