WPF MouseLeftButtonUp не работает
Странные события в WPF... Когда я устанавливаю событие в MouseUp, я могу его запустить, когда я нажму правой кнопкой мыши. Но это не будет срабатывать ни с одним кликом!
<Button MouseLeftButtonUp="btnNewConfig_MouseUp" Name="btnNewConfig">
<StackPanel Orientation="Horizontal">
<Image Source="Icons\new.ico" Height="24" Width="24" Margin="5"/>
<TextBlock VerticalAlignment="Center">New</TextBlock>
</StackPanel>
</Button>
Я знаю, что это, скорее всего, что-то простое. Спасибо за помощь!
Ответы
Ответ 1
Похоже, элемент управления Button уничтожает это событие. Так как Button.Click на самом деле представляет собой комбинацию события LeftButtonDown и LeftButtonUp.
Но вы можете подписаться на событие Tunnelled PreviewMouseLeftButtonUp на кнопке, чтобы получить LeftButtonUp
Ответ 2
Кнопка использует события MouseLeft/RightButtonUp/Down (и маркирует их как "обработанные" ) для своих событий Button.Click.
Как сказал Джоби, вы можете использовать событие PreviewMouseLeftButtonUp, но я хочу предложить вам создать свой собственный шаблон кнопки и изменить его поведение. (т.е. не отмечать MouseLeftButtonUp as Handled = true) или просто использовать что-то еще, чем кнопку в качестве родительского контейнера. (Зависит от того, что вам действительно нужно).