как мы можем программно изменить индекс z элемента управления silverlight?

StackOverflow https://stackoverflow.com/questions/1802108

  •  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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top