2010-06-08 33 views
13

Trong WPF tôi muốn thay đổi hành vi đóng mặc định của một số cửa sổ, để khi người dùng sử dụng nút đóng màu đỏ, cửa sổ không đóng, nó chỉ ẩn (và gọi một số phương thức). Làm thế nào tôi có thể làm điều đó?Làm cách nào để ghi đè hoạt động đóng cửa sổ mặc định?

+0

Bây giờ có câu trả lời tôi nên chấp nhận ?? Cả hai đều tốt như nhau ... – drasto

Trả lời

28

Hãy thử trọng OnClosing trong Window.xaml.cs

private override void OnClosing(object sender, CancelEventArgs e) 
{ 
    e.Cancel = true; 
    //Do whatever you want here.. 
} 
+13

Trên thiết lập C# 4.0 của tôi điều này nên được 'bảo vệ ghi đè void OnClosing (CancelEventArgs e)'. – SimonT

13

This page sẽ giúp ích.

Đóng có thể được xử lý để phát hiện khi cửa sổ đang đóng (ví dụ, khi đóng được gọi). Hơn nữa, đóng cửa có thể được sử dụng để ngăn chặn một cửa sổ đóng cửa. Để ngăn cửa sổ đóng, bạn có thể đặt thuộc tính Hủy của đối số CancelEventArgs thành true.

Nếu bạn muốn hiển thị và ẩn một cửa sổ nhiều lần trong suốt cuộc đời của một ứng dụng, và bạn không muốn reinstantiate cửa sổ mỗi khi bạn thấy nó, bạn có thể xử lý sự kiện Đóng, hủy sự kiện và gọi phương thức Ẩn. Sau đó, bạn có thể gọi Show trên cùng một cá thể để mở lại.

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