2011-10-10 43 views
12

Tôi đã tự hỏi liệu có cách nào để xử lý một sự kiện Thoát khỏi ứng dụng WPF chẳng hạn như lệnh thoát đã bị hủy. Trường hợp sử dụng là tôi có tình huống máy khách-máy chủ nơi máy chủ là một ứng dụng WPF. Tôi muốn các ứng dụng WPF thông báo cho khách hàng khi nó được tắt, nhưng hủy bỏ quá trình tắt máy. Máy khách sẽ nhận được thông báo tắt máy, tự dọn dẹp yêu cầu và sau đó yêu cầu ứng dụng WPF tắt thông qua một yêu cầu.Xử lý sự kiện thoát khỏi WPF

Điều này có khả thi không?

+0

Bạn sẽ làm gì nếu máy khách không yêu cầu máy chủ tắt? – Paparazzi

Trả lời

31

Bạn có thể treo trong lễ bế mạc vào cửa sổ chính của bạn như thế này -

<Window Closing="Window_Closing"> 

Và trong trường hợp của bạn thiết lập các e.Cancel true để ngăn chặn các cửa sổ từ đóng cửa. Trong trường hợp của bạn, bạn có thể duy trì một số lĩnh vực mà sẽ được thiết lập một khi bạn nhận được thông báo từ khách hàng mà anh ta đã thực hiện với cleanUp và an toàn của nó ngay bây giờ để đóng cửa sổ. Chỉ cần đặt giá trị đó thành e.Cancel

private void Window_Closing(object sender, CancelEventArgs e) 
{ 
    e.Cancel = true; 
} 
Các vấn đề liên quan