Как щелкнуть объект с Panel.ZIndex ниже, чем у другого в wpf? - PullRequest
5 голосов
/ 29 сентября 2011

В wpf мне нужно нажать на изображение с Panel.ZIndex = "1", но это изображение "под" другим изображением с Panel.ZIndex = "2".Ошибка MouseDown.Как это сделать?

Заранее спасибо, М.

<Grid >
    <Image Name="Image_1" 
           Panel.ZIndex="1" />

    <Image Name="Image_2" 
           Panel.ZIndex="2" />

</Grid>

Ответы [ 4 ]

7 голосов
/ 29 сентября 2011

Попробуйте использовать IsHitTestVisible

<Grid >
   <Image Name="Image_1" 
          Panel.ZIndex="1" />

    <Image Name="Image_2" IsHitTestVisible="false" 
          Panel.ZIndex="2" />
</Grid>
1 голос
/ 29 сентября 2011

Вы можете иметь прозрачное изображение поверх всех остальных, и иметь событие click для этого.

0 голосов
/ 14 мая 2012

Интересно, почему не работает событие мыши? В WPF есть модель туннелирования для событий, поэтому вы должны иметь возможность перехватывать событие мыши для любого элемента, если другой не блокирует его, используя e.Handled = true ...

0 голосов
/ 29 сентября 2011

Единственный способ - обработать щелчок по Image_2 и программно щелкнуть по Image_1.Вы не можете сломать макет.

Или, конечно, поменять ZIndex свойство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...