WPF кликабельная кнопка под ярлыком - PullRequest
2 голосов
/ 19 октября 2010

У меня есть кнопка.У меня есть расширитель в кнопке и метка над расширителем в той же кнопке.Я могу нажать на кнопку без проблем, но есть проблема, когда я нажимаю на ярлык (ничего не происходит).Как я могу сделать это: когда пользователь нажимает на ярлык в кнопке, кнопка нажата.Я хочу перенести событие клика из метки в кнопку, содержащую эту метку.

<Button>
  <Label />
  <Expander>
  </Expander>
</Button>

Я хочу иметь возможность нажимать кнопку через метку.

Ответы [ 3 ]

7 голосов
/ 19 октября 2010

Это изменение должно заставить вашу метку проходить через клики к базовому элементу управления:

<Button>
  <Label IsHitTestVisible="False" />
  <Expander>
  </Expander>
</Button>
0 голосов
/ 17 ноября 2015

Вы также можете принудительно инициировать событие щелчка для кнопки, внутри которой находится метка, поместив следующий код в обработчик события метки.

((Button)label1.Parent).RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
0 голосов
/ 19 октября 2010

Вы можете вспомнить событие, используя RoutingStrategy.Bubble. Вот стартер по перенаправленным событиям -> Перенаправленные события

...