2008-11-25 14 views
11

Sucesos extraños en WPF ... Cuando establezco el evento en MouseUp, puedo hacer que se dispare cuando hago clic con el botón derecho en el botón. ¡Pero esto no disparará con ningún clic!WPF MouseLeftButtonUp Not Firing

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

Sé que es muy probable que sea algo simple. ¡Gracias por la ayuda!

Respuesta

22

Parece que el control Button está consumiendo ese evento ya que Button.Click es en realidad una combinación de evento LeftButtonDown y evento LeftButtonUp.

Pero puede suscribirse al evento tunelizados PreviewMouseLeftButtonUp en el botón para obtener LeftButtonUp

+0

¿Por qué, gracias? Sabía que tenía que ser algo fácil como un pastel. –

2

botón está utilizando los MouseLeft/RightButtonUp/Abajo eventos (y marcándolos como "Mango") por sus eventos Button.Click .

Como dijo Jobi, puede usar el evento PreviewMouseLeftButtonUp, pero quiero sugerirle que cree su propia plantilla de botones y modifique su comportamiento. (es decir, no marque MouseLeftButtonUp como Handled = true) o simplemente use algo más que un botón como su contenedor primario. (Depende de lo que realmente lo necesite).