2008-11-25 9 views
11

Dziwne wydarzenia w WPF ... Po ustawieniu zdarzenia na MouseUp mogę go uruchomić, gdy kliknę prawym przyciskiem myszy. Ale to nie zadziała z żadnym kliknięciem!WPF MouseLeftButtonUp Not Fireing

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

Wiem, że to najprawdopodobniej coś prostego. Dzięki za pomoc!

Odpowiedz

22

Wygląda na to, że kontrola Button pochłania to wydarzenie, ponieważ Button.Click to właściwie połączenie zdarzenia LeftButtonDown i zdarzenia LeftButtonUp.

Ale można zapisać się do wydarzenia tunelowanego PreviewMouseLeftButtonUp w przycisk, aby uzyskać LeftButtonUp

+0

Dlaczego dziękuję. Wiedziałem, że to musi być coś łatwego jak ciasto. –

2

Przycisk korzysta z MouseLeft/RightButtonUp/dół zdarzenia (i oznaczając je jako „obsługiwane”) dla swoich imprez Button.Click .

Jak powiedział Jobi, można użyć zdarzenia PreviewMouseLeftButtonUp, ale chcę zasugerować utworzenie własnego szablonu przycisku i zmodyfikować jego zachowanie. (tzn. nie oznaczaj MouseLeftButtonUp jako Handled = true) lub po prostu użyj czegoś innego niż przycisk jako kontener nadrzędny. (Zależy od tego, czego naprawdę potrzebujesz).