2010-10-17 5 views

Trả lời

10

Không có sự khác biệt ... đầu tiên là lối tắt cho lần thứ hai.

Trong thực tế, nếu bạn thử cả hai cách, sau đó sử dụng Reflector để tháo rời lắp ráp, bạn có thể thấy rằng nó là hoàn toàn giống nhau và cả hai đều hiểu là:

_btnAddNew.Click += new RoutedEventHandler(OnAddNewClick); 
+0

Tuy nhiên, đầu tiên dễ đọc hơn nhiều. :) – Vlad

0

sao chép từ: http://msdn.microsoft.com/en-us/library/system.windows.routedeventhandler.aspx

Đại biểu RoutedEventHandler được sử dụng cho bất kỳ sự kiện định tuyến nào không báo cáo thông tin sự kiện cụ thể trong dữ liệu sự kiện. Có rất nhiều sự kiện được định tuyến như vậy; các ví dụ nổi bật bao gồm Nhấp và tải.

Sự khác biệt đáng chú ý nhất giữa việc viết trình xử lý cho sự kiện được định tuyến trái ngược với sự kiện ngôn ngữ chung (CLR) là người gửi sự kiện (phần tử mà trình xử lý được đính kèm và gọi) không thể được xem xét nhất thiết phải là nguồn gốc của sự kiện. Nguồn được báo cáo dưới dạng thuộc tính trong dữ liệu sự kiện (Nguồn). Sự khác biệt giữa người gửi và Nguồn là kết quả của sự kiện được định tuyến đến các phần tử khác nhau, trong suốt quá trình truyền tải của sự kiện được định tuyến thông qua cây phần tử.

Bạn có thể sử dụng người gửi hoặc nguồn để tham khảo đối tượng nếu bạn cố ý không quan tâm đến hành vi định tuyến của sự kiện định tuyến trực tiếp hoặc bong bóng và bạn chỉ định xử lý sự kiện định tuyến trên các phần tử mà chúng được nâng lên lần đầu tiên. Trong trường hợp này, người gửi và Nguồn là cùng một đối tượng.

Nếu bạn định tận dụng các tính năng vốn có của các sự kiện định tuyến và ghi các trình xử lý của bạn cho phù hợp, hai thuộc tính quan trọng nhất của dữ liệu sự kiện mà bạn sẽ làm việc khi viết xử lý sự kiện là Nguồn và Xử lý.

Đối với các kết hợp nhất định của các sự kiện đầu vào và các lớp điều khiển WPF, phần tử làm tăng sự kiện không phải là yếu tố đầu tiên có cơ hội xử lý nó. Nếu sự kiện đầu vào có phiên bản Xem trước của sự kiện, thì gốc của cây phần tử có cơ hội đầu tiên, có thể đặt Được xử lý thành true trong dữ liệu sự kiện được chia sẻ và có thể ảnh hưởng đến cách sự kiện đầu vào được báo cáo cho các phần tử còn lại trong tuyến sự kiện của nó . Hành vi xử lý xem trước có thể cho sự xuất hiện mà một sự kiện được định tuyến cụ thể không được nâng lên như mong đợi. Để biết thêm thông tin, hãy xem Xem trước sự kiện và Tổng quan về nhập liệu.