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) или просто использовать что-то еще, чем кнопку в качестве родительского контейнера. (Зависит от того, что вам действительно нужно).