繁体   English   中英

设置具有相同Zindex的项目如何不会引发错误?

[英]How is it that setting items with the same Zindex doesn't raise an error?

我在WPFMainwindow中有简单的Canvas

首先,我在画布上添加一个高度和宽度为100, Zindex为0的矩形。 之后,我将相似的红色矩形和Zindex为0添加到同一画布。

这是我的代码:

        var R1 = new Rectangle();
        R1.Height = 100;
        R1.Width = 100;
        R1.Fill = Brushes.Blue;
        Canvas.SetLeft(R1, 100);
        Canvas.SetTop(R1, 100);
        Canvas.SetZIndex(R1, 0);
        Can1.Children.Add(R1);

        var R2 = new Rectangle();
        R2.Height = 100;
        R2.Width = 100;
        R2.Fill = Brushes.Red;
        Canvas.SetLeft(R2, 100);
        Canvas.SetTop(R2, 100);
        Canvas.SetZIndex(R2, 0);
        Can1.Children.Add(R2);

如何占用R2的位置,并将元素添加到画布而不会引发任何错误? 发生的情况是R2放置在R1之上,但是我没有将其Zindex设置为大于0。

如何占用R2的位置,并将元素添加到画布而不会引发任何错误?

元素可以放置在具有相同z-index的父容器中 如果您不会在上面设置任何z-index,则默认情况下,它们会添加相同的z-index。 因此,没有错误。

发生的情况是R2放置在R1之上,但是我没有将其Zindex设置为大于0。

如果未在新的子元素上设置较高的z-index,则最后添加的子元素将始终获胜,即它将以相同的z-index放置在元素上 因此,在您的情况下,R2将显示在R1上方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM