Поделиться через


Panel.ZIndex Присоединенное свойство

Определение

Получение или установка значения, определяющего порядок отображения элементов в плоскости z.

see GetZIndex, and SetZIndex
see GetZIndex, and SetZIndex
see GetZIndex, and SetZIndex

Примеры

В следующем примере показано, как задать значение ZIndex свойства с помощью языка XAML и кода.


// Create the application's main window
mainWindow = gcnew Window();
mainWindow->Title = "Canvas ZIndex Sample";

// Create the Canvas
myCanvas = gcnew Canvas();

// Create the child Rectangle elements
myRectangle1 = gcnew Rectangle();
myRectangle2 = gcnew Rectangle();
myRectangle3 = gcnew Rectangle();
myRectangle4 = gcnew Rectangle();
myRectangle5 = gcnew Rectangle();
myRectangle6 = gcnew Rectangle();

// Set properties on the Rectangle elements
Canvas::SetTop(myRectangle1, 100);
Canvas::SetLeft(myRectangle1, 100);
Canvas::SetZIndex(myRectangle1, 3);
myRectangle1->Fill = Brushes::Blue;
myRectangle1->Width = 100;
myRectangle1->Height = 100;

Canvas::SetTop(myRectangle2, 150);
Canvas::SetLeft(myRectangle2, 150);
Canvas::SetZIndex(myRectangle2, 1);
myRectangle2->Fill = Brushes::Yellow;
myRectangle2->Width = 100;
myRectangle2->Height = 100;

Canvas::SetTop(myRectangle3, 200);
Canvas::SetLeft(myRectangle3, 200);
Canvas::SetZIndex(myRectangle3, 2);
myRectangle3->Fill = Brushes::Green;
myRectangle3->Width = 100;
myRectangle3->Height = 100;

Canvas::SetTop(myRectangle4, 300);
Canvas::SetLeft(myRectangle4, 200);
Canvas::SetZIndex(myRectangle4, 1);
myRectangle4->Fill = Brushes::Green;
myRectangle4->Width = 100;
myRectangle4->Height = 100;

Canvas::SetTop(myRectangle5, 350);
Canvas::SetLeft(myRectangle5, 150);
Canvas::SetZIndex(myRectangle5, 3);
myRectangle5->Fill = Brushes::Yellow;
myRectangle5->Width = 100;
myRectangle5->Height = 100;

Canvas::SetTop(myRectangle6, 400);
Canvas::SetLeft(myRectangle6, 100);
Canvas::SetZIndex(myRectangle6, 2);
myRectangle6->Fill = Brushes::Blue;
myRectangle6->Width = 100;
myRectangle6->Height = 100;

// Add the Rectangles to the Canvas' Children collection
myCanvas->Children->Add(myRectangle1);
myCanvas->Children->Add(myRectangle2);
myCanvas->Children->Add(myRectangle3);
myCanvas->Children->Add(myRectangle4);
myCanvas->Children->Add(myRectangle5);
myCanvas->Children->Add(myRectangle6);

// Add the Canvas as the Content of the parent Window Object
mainWindow->Content = myCanvas;
mainWindow->Show();

// Create the application's main window
mainWindow = new Window ();
mainWindow.Title = "Canvas ZIndex Sample";

// Create the Canvas
myCanvas = new Canvas();

// Create the child Rectangle elements
myRectangle1 = new Rectangle();
myRectangle2 = new Rectangle();
myRectangle3 = new Rectangle();
myRectangle4 = new Rectangle();
myRectangle5 = new Rectangle();
myRectangle6 = new Rectangle();

// Set properties on the Rectangle elements
Canvas.SetTop(myRectangle1, 100);
Canvas.SetLeft(myRectangle1, 100);
Canvas.SetZIndex(myRectangle1, 3);
myRectangle1.Fill = Brushes.Blue;
myRectangle1.Width = 100;
myRectangle1.Height = 100;

Canvas.SetTop(myRectangle2, 150);
Canvas.SetLeft(myRectangle2, 150);
Canvas.SetZIndex(myRectangle2, 1);
myRectangle2.Fill = Brushes.Yellow;
myRectangle2.Width = 100;
myRectangle2.Height = 100;

Canvas.SetTop(myRectangle3, 200);
Canvas.SetLeft(myRectangle3, 200);
Canvas.SetZIndex(myRectangle3, 2);
myRectangle3.Fill = Brushes.Green;
myRectangle3.Width = 100;
myRectangle3.Height = 100;

Canvas.SetTop(myRectangle4, 300);
Canvas.SetLeft(myRectangle4, 200);
Canvas.SetZIndex(myRectangle4, 1);
myRectangle4.Fill = Brushes.Green;
myRectangle4.Width = 100;
myRectangle4.Height = 100;

Canvas.SetTop(myRectangle5, 350);
Canvas.SetLeft(myRectangle5, 150);
Canvas.SetZIndex(myRectangle5, 3);
myRectangle5.Fill = Brushes.Yellow;
myRectangle5.Width = 100;
myRectangle5.Height = 100;

Canvas.SetTop(myRectangle6, 400);
Canvas.SetLeft(myRectangle6, 100);
Canvas.SetZIndex(myRectangle6, 2);
myRectangle6.Fill = Brushes.Blue;
myRectangle6.Width = 100;
myRectangle6.Height = 100;

// Add the Rectangles to the Canvas' Children collection
myCanvas.Children.Add(myRectangle1);
myCanvas.Children.Add(myRectangle2);
myCanvas.Children.Add(myRectangle3);
myCanvas.Children.Add(myRectangle4);
myCanvas.Children.Add(myRectangle5);
myCanvas.Children.Add(myRectangle6);

// Add the Canvas as the Content of the parent Window Object
mainWindow.Content = myCanvas;
mainWindow.Show ();
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" WindowTitle="ZIndex Sample">
  <Canvas>
    <Rectangle Canvas.ZIndex="3" Width="100" Height="100" Canvas.Top="100" Canvas.Left="100" Fill="blue"/>
    <Rectangle Canvas.ZIndex="1" Width="100" Height="100" Canvas.Top="150" Canvas.Left="150" Fill="yellow"/>
    <Rectangle Canvas.ZIndex="2" Width="100" Height="100" Canvas.Top="200" Canvas.Left="200" Fill="green"/>

    <!-- Reverse the order to illustrate z-index property -->

    <Rectangle Canvas.ZIndex="1" Width="100" Height="100" Canvas.Top="300" Canvas.Left="200" Fill="green"/>
    <Rectangle Canvas.ZIndex="3" Width="100" Height="100" Canvas.Top="350" Canvas.Left="150" Fill="yellow"/>
    <Rectangle Canvas.ZIndex="2" Width="100" Height="100" Canvas.Top="400" Canvas.Left="100" Fill="blue"/>
  </Canvas>
</Page>

Комментарии

Чем больше value заданного elementобъекта , тем выше вероятность element появления на переднем плане. Аналогичным образом, если объект element имеет относительно низкий уровень value, скорее element всего, будет отображаться в фоновом режиме. Например, объект со element значением value 5 будет отображаться над element , который имеет value значение 4, который, в свою очередь, будет отображаться над element со значением 3 и т. д. Отрицательные значения разрешены, и они продолжают этот шаблон приоритета.

Children Элементы коллекции с равными ZIndex значениями отображаются в порядке, в котором они отображаются в визуальном дереве. Вы можете определить позицию индекса дочернего элемента, выполнив итерацию по членам Children коллекции.

Сведения о свойстве зависимостей

Поле идентификатора ZIndexProperty
Для свойств метаданных задано значение true Нет

Применяется к