2008-11-25 3 views
11

Étranges événements dans WPF ... Lorsque je mets l'événement sur MouseUp, je peux l'activer quand je clique avec le bouton droit de la souris. Mais cela ne déclenchera pas avec l'un ou l'autre clic!WPF MouseLeftButtonUp ne tire pas

   <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> 

Je sais que c'est probablement quelque chose de simple. Merci pour l'aide!

Répondre

22

On dirait que le contrôle de bouton est en train de ronger cet événement Puisque Button.Click est en réalité une combinaison d'événement LeftButtonDown et d'événement LeftButtonUp.

Mais vous pouvez vous abonner à l'événement tunnellisation PreviewMouseLeftButtonUp sur le bouton pour obtenir LeftButtonUp

+0

Pourquoi merci. Je savais que ça devait être quelque chose de facile comme de la tarte. –

2

Bouton utilise les événements MouseLeft/RightButtonUp/vers le bas (et en les marquant comme « Handled ») pour ses événements Button.Click . Comme l'a dit Jobi, vous pouvez utiliser l'événement PreviewMouseLeftButtonUp, mais je vous suggère de créer votre propre modèle de bouton et de modifier son comportement. (c'est-à-dire ne pas marquer le MouseLeftButtonUp comme Handled = true) ou simplement utiliser autre chose qu'un bouton comme conteneur parent. (Cela dépend de ce que vous en avez vraiment besoin).

Questions connexes