2008-11-25 45 views
11

Những sự kiện lạ trong WPF ... Khi tôi đặt sự kiện thành MouseUp, tôi có thể làm cho nó phát ra khi tôi nhấp chuột phải vào nút. Nhưng điều này sẽ không cháy với một trong hai nhấp chuột!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> 

Tôi biết điều này rất có thể là điều đơn giản. Cảm ơn đã giúp đỡ!

Trả lời

22

Dường như Nút điều khiển đang ăn hết sự kiện đó Vì Button.Click thực sự là sự kết hợp của sự kiện LeftButtonDown và sự kiện LeftButtonUp.

Nhưng bạn có thể đăng ký vào các sự kiện tunnelled PreviewMouseLeftButtonUp vào nút để có được LeftButtonUp

+0

Tại sao cảm ơn bạn. Tôi biết nó phải là một cái gì đó dễ dàng như chiếc bánh. –

2

Nút đang sử dụng MouseLeft/RightButtonUp/Xuống sự kiện (và đánh dấu chúng là "Cầm") cho các sự kiện của nó Button.Click .

Như Jobi đã nói, bạn có thể sử dụng sự kiện PreviewMouseLeftButtonUp, nhưng tôi muốn đề xuất bạn tạo mẫu nút của riêng mình và sửa đổi hành vi của nó. (ví dụ: không đánh dấu MouseLeftButtonUp là Handled = true) hoặc chỉ đơn giản là sử dụng một cái gì đó khác với nút như là vùng chứa mẹ của bạn. (Phụ thuộc vào những gì bạn thực sự cần nó cho).