как мы можем программно изменить индекс z элемента управления silverlight?
-
05-07-2019 - |
Вопрос
У меня есть некоторые элементы управления, добавленные в стековую панель программно. Я хочу, чтобы один из элементов управления в этой панели стека был помещен поверх другого элемента управления. В частности, я хочу разместить кнопку над изображением в этой панели стека. Я не смог найти свойство zindex в c # codebehind. Хотя это кажется очень простой проблемой, но я не могу найти ключ к решению этой проблемы. Кто-нибудь, пожалуйста ...... ??
Решение
Попробуйте разместить все свои элементы управления на холсте. Затем вы можете установить Zindex с помощью:
this.controlName.SetValue(Canvas.ZIndexProperty, 10d);
Другие советы
Только панель Canvas
поддерживает свойство ZIndex
. Stackpanel не делает, потому что каждый элемент размещен один за другим на панели, чтобы они не перекрывали друг друга. Это может быть немного раздражающим, когда у вас есть анимированные преобразования, перемещающие элементы, потому что предыдущее предположение на самом деле не соответствует действительности.
В общем, если вам нужно поместить элементы в визуальный стек, панель Stackpanel не подходит для этого. Возможно, Canvas
или вы могли бы использовать Grid
, где исходная позиция элемента определяет его " zorder " в клетке.
От xaml:
<StackPanel Canvas.ZIndex="1">
</StackPanel>