C# 如何使用相同的Zindex设置项目不';你不会出错吗?
我在C# 如何使用相同的Zindex设置项目不';你不会出错吗?,c#,wpf,C#,Wpf,我在WPF的main窗口中有一个简单的Canvas 首先,我将向画布添加一个高度和宽度分别为100和0的矩形。 之后,我将向同一画布添加一个类似的红色矩形和0的Zindex 这是我的代码: var R1 = new Rectangle(); R1.Height = 100; R1.Width = 100; R1.Fill = Brushes.Blue; Canvas.SetLeft(R1, 100);
WPF
的main窗口中有一个简单的Canvas
首先,我将向画布添加一个高度和宽度分别为100和0的矩形。
之后,我将向同一画布添加一个类似的红色矩形和0的Zindex
这是我的代码:
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索引的父容器中。如果不在其上设置任何z索引,默认情况下,它们将添加相同的z索引。因此,没有错误
结果是R2被放置在R1之上,但我没有设置Zindex
它的值必须大于0
如果您没有在新的子元素上设置更高的z索引,则最后添加的子元素始终获胜,即它将放置在具有相同z索引的元素上。因此,在您的案例中,R2将显示在R1上方
R2的位置是如何确定的,元素是如何确定的
是否已添加到画布而未引发任何错误
元素可以放置在具有相同z索引的父容器中。如果不在其上设置任何z索引,默认情况下,它们将添加相同的z索引。因此,没有错误
结果是R2被放置在R1之上,但我没有设置Zindex
它的值必须大于0
如果您没有在新的子元素上设置更高的z索引,则最后添加的子元素始终获胜,即它将放置在具有相同z索引的元素上。因此,在您的情况下,R2将显示在R1上方。首先,不要在WPF的过程代码中创建或操作UI元素。这就是XAML的作用。其次,不,设置属性不应该“引发错误”。首先,不要在WPF的过程代码中创建或操作UI元素。这就是XAML的作用。其次,不,设置属性不应该“引发错误”。如果它是一个完全有效的值,则要少得多。