2010-03-23 40 views
10

Tôi đang gặp vấn đề sau đây:vô hiệu hóa sự kiện bọt C# WPF

Khi tôi có hai nhãn vào nhau:

<Label x:Name="First" MouseUp="Label_MouseUp"> 
    <Label x:Name="Second" MouseUp="Label_MouseUp_1">This is a label into another label</Label> 
</Label> 

Và đoạn mã sau:

private void Label_MouseUp(object sender, MouseButtonEventArgs e) 
{ 
    Console.WriteLine("Do NOT show me"); 
} 

private void Label_MouseUp_1(object sender, MouseButtonEventArgs e) 
{ 
    Console.WriteLine("Show me"); 
} 

Khi tôi nhấp vào "Thứ hai", tôi muốn nó chỉ kích hoạt "Label_MouseUp_1". Nhưng trong giao diện điều khiển của tôi tôi nhận được:

Show me
ĐỪNG chỉ cho tôi

Có cách nào để tắt các sự kiện bọt?

(cũng "đầu tiên" có thể nhấp được, vì vậy loại bỏ các sự kiện có không giải quyết được vấn đề)

Thnx

Trả lời

25

tôi không có các tài liệu ngay trước mặt tôi, nhưng Tôi nghĩ rằng nếu bạn đánh dấu đối tượng MouseButtonEventArgs như xử lý nó dừng sự kiện từ đi lên chuỗi.

nên đơn giản như

e.Handled = true; 

Hãy ai đó đúng cho tôi nếu tôi sai về việc này.

+0

Đó là một anwser nhanh chóng :) Tôi sẽ thử điều này cùng một lúc. Cảm ơn rất nhiều – Ruben

+0

Điều này hoạt động hoàn hảo. Cảm ơn – Ruben

+0

Câu trả lời hay, giáng sinh vui vẻ! –

Các vấn đề liên quan