Главная » Разработка для Windows Phone 7 » Перекрытие и ZIndex

0

Возьмем две линии:

<Grid Background="LightCyan"> <Line X1="100" Y1="300" X2="200" Y2="50" Stroke="Blue" />

<Line X1="50" Y1="100" X2="300" Y2="200" Stroke="Red" />

</Grid>

Вторая линия перекрывает первую. Более отчетливо это можно увидеть, если увеличить толщину линии, изменив значение StrokeThickness (по умолчанию толщина равна 1 пикселу):

<Grid Background="LightCyan"> <Line X1="100" Y1="300" X2="200" Y2="50" Stroke="Blue" StrokeThickness="5" />

<Line X1="50" Y1="100" X2="300" Y2="200" Stroke="Red" StrokeThickness="30" /

</Grid>

Если требуется, чтобы синяя линия располагалась поверх красной, существует два варианта решения. Можно просто изменить порядок размещения линий в Grid:

<Grid Background="LightCyan"> <Line X1="50" Y1="10 0" X2="3 0 0" Y2="2 0 0" Stroke="Red" StrokeThickness="30" />

<Line X1="100" Y1="3 0 0" X2="2 0 0" Y2="50" Stroke="Blue" StrokeThickness="5" />

</Grid>

Или можно задать значение свойства Canvas.ZIndex. Это свойство описано в Canvas, но применимо для всех типов панелей:

<Grid Background="LightCyan"> <Line Canvas.ZIndex="1" X1="100" Y1="3 0 0" X2="2 0 0" Y2="50" Stroke="Blue" StrokeThickness="5" />

<Line Canvas.ZIndex="0" X1="50" Y1="10 0" X2="3 0 0" Y2="2 0 0" Stroke="Red" StrokeThickness="30" />

</Grid>

Источник: Чарльз Петзольд, Программируем Windows Phone 7, Microsoft Press, © 2011.

По теме:

  • Комментарии