在WPF XAML中使用极高Zindex有任何风险吗?

时间:2014-06-06 18:19:22

标签: wpf xaml

我想知道在XAML视图中使用超高ZIndex时是否存在资源或性能风险。

例如,这是否有区别:

<Grid>
    <Rectangle Name="BigBoss" Canvas.ZIndex="1000000"/>
    <Rectangle Name="LitleBoss" Canvas.ZIndex="1000"/>
    <Rectangle Name="normalGuy" Canvas.ZIndex="2"/>
</Grid>

和此:

<Grid>
    <Rectangle Name="BigBoss" Canvas.ZIndex="2"/>
    <Rectangle Name="LitleBoss" Canvas.ZIndex="1"/>
    <Rectangle Name="normalGuy" Canvas.ZIndex="0"/>
</Grid>

我不知道ZIndex背后使用的机制以及如何使用它来渲染视图但我假设如果有一个循环迭代1000000的所有元素&#34;使用&#34; ZIndex,会有一个明确的性能问题。

1 个答案:

答案 0 :(得分:1)

我认为没有任何性能风险。 ZIndex是用于在wpf Panel(同一面板)内设置项目优先级的属性。如果将ZIndex = 10000设置为项目,则表示不会有10000个图层。这意味着如果在同一个面板中有任何其他项目与ZIndez相同,则与第一个项目重叠,那么另一个项目将在第一个项目后面呈现渲染。

默认情况下,可视化树顺序具有相同的效果。