Làm cách nào để có được sự kiện nhấp vào hộp tối thiểu của cửa sổ WPF?Nhận kích thước hộp tối thiểu khi nhấp vào cửa sổ WPF
Trả lời
Có một sự kiện được gọi là StateChanged
(từ trợ giúp) có vẻ như nó có thể làm những gì bạn muốn.
Xảy ra khi cửa sổ WindowState thay đổi thuộc tính.
Trợ giúp nói nó chỉ được hỗ trợ trong .NET 3.0 và 3.5 trong Vista, nhưng tôi đã thử trên XP và nó sẽ kích hoạt khi cửa sổ được thu nhỏ, phóng to và phục hồi. Tuy nhiên, từ thử nghiệm của tôi, nó bắn sau trạng thái đã thay đổi, vì vậy nếu bạn muốn làm điều gì đó trước khi cửa sổ thu nhỏ, điều này có thể không phải là cách tiếp cận bạn cần.
Bạn sẽ phải kiểm tra trạng thái thực tế để đảm bảo trạng thái chính xác.
private void Window_StateChanged(object sender, EventArgs e)
{
switch (this.WindowState)
{
case WindowState.Maximized:
MessageBox.Show("Maximized");
break;
case WindowState.Minimized:
MessageBox.Show("Minimized");
break;
case WindowState.Normal:
MessageBox.Show("Normal");
break;
}
}
Rõ ràng là nếu tôi chỉ in ra tiểu bang tôi muốn sử dụng this.WindowState.ToString()
;)
Sau đây nên được bổ sung vào defintion XAML của cửa sổ của bạn bằng Visual Studio:
StateChanged="Window_StateChanged"
Xem câu hỏi này để biết thông tin về cách thực hiện điều gì đó ** trước ** cửa sổ được thu nhỏ http://stackoverflow.com/questions/926758/window-statechanging-event-in-wpf –
Xin lỗi, đây không phải là về WPF vì tôi chưa làm việc nhiều với WPF. Nhưng một điều nữa bạn có thể làm là kiểm tra tài sản Windowstate trong sự kiện Resized của Form. Và nếu nó bằng FormWindowState.Minimized thì nút thu nhỏ được bấm (?) ;-)
Ngoài câu trả lời của Shoban ...
Bạn có thể tận dụng sự kiện Đã hủy kích hoạt của Cửa sổ, bạn có thể thậm chí sử dụng StateChange tổ chức sự kiện như sau
private void Window_Deactivated(object sender, EventArgs e)
{
if(this.WindowState== WindowState.Minimized)
// Do your stuff
}
nó sẽ giúp ....
- 1. Chiều rộng tối thiểu trong đổi kích thước cửa sổ
- 2. Kích thước cửa sổ tối đa và tối thiểu trong WINAPI
- 3. Firefox: kích thước hộp và chiều cao tối thiểu
- 4. gtk kích thước tối thiểu
- 5. Làm cách nào để đặt kích thước cửa sổ tối thiểu trong tkinter?
- 6. Làm thế nào để thay đổi kích thước một QMainWindow thành kích thước tối thiểu
- 7. Làm thế nào để loại bỏ tối thiểu và tối đa hóa từ một cửa sổ thay đổi kích thước trong WPF?
- 8. Đặt kích thước tối ưu của cửa sổ hộp thoại có chứa một TableWidget
- 9. Làm cách nào để đặt kích thước thay đổi kích thước tối thiểu và tối đa cho cửa sổ chính của tôi?
- 10. WPF: Cửa sổ được giảm thiểu ngay cả khi cài đặt WindowState rõ ràng
- 11. Cách đặt chiều rộng tối thiểu với kích thước nền
- 12. sửa kích thước cửa sổ trong vim
- 13. Triển khai tối thiểu của couchdb trên các cửa sổ
- 14. Tôi có nên sử dụng các ràng buộc chế độ xem hoặc kích thước cửa sổ tối thiểu không?
- 15. emacs lập trình thay đổi kích thước cửa sổ
- 16. Bố cục Qt, đổi kích thước thành tối thiểu sau khi thay đổi kích thước tiện ích
- 17. Xác định kích thước của cửa sổ WPF SizeToContent trước khi hiển thị
- 18. JFrame: Cách tắt kích thước cửa sổ?
- 19. Tìm kích thước cửa sổ X11?
- 20. Xmonad: khi thả nổi cửa sổ, di chuyển hoặc đổi kích thước cửa sổ
- 21. Sử dụng ViewBox để thay đổi kích thước svg tùy thuộc vào kích thước cửa sổ
- 22. Chỉnh sửa kích thước tự động của Gridpanel khi thay đổi kích thước cửa sổ
- 23. Android - nhiều trường EditText trong cửa sổ đổi kích thước
- 24. JavaFX Làm thế nào để đặt kích thước cửa sổ tối đa/phút?
- 25. Nhận kích thước hiện tại của các điều khiển WPF
- 26. Thay đổi kích thước và định kích thước cửa sổ bật lên GWT khi cửa sổ trình duyệt đổi kích thước
- 27. Lấy kích thước cửa sổ Tkinter
- 28. iterm2 kích thước cửa sổ mặc định
- 29. Thực hiện kích thước tối thiểu đối với mảng bool
- 30. Tự động thay đổi kích thước hàng TableLayoutPanel khi cửa sổ được thay đổi kích thước
Tại sao bạn cần phải biết khi nào nó được nhấp? Có một lý do mà bạn cần biết rằng so với đăng ký với Window.StateChanged? – Andy