Tôi cần phải có loại sự kiện Sorted
cho số DataGrid
trong một ứng dụng WPF nhưng không thể tìm được cách để lấy nó.Làm thế nào tôi có thể được thông báo nếu cột DataGrid được sắp xếp (và không sắp xếp)
Đây là những gì tôi đã cố gắng:
Các DataGrid
cung cấp một sự kiện Sorting
, nhưng tôi không thể sử dụng nó như nó được bắn trước khi phân loại được thực hiện. Các EventArgs
cho tôi cột được sắp xếp nhưng không phải là cách nó được sắp xếp và nếu tôi nhận được hướng sắp xếp nó được đặt thành giá trị cũ. Tất nhiên tôi có thể đoán nó sẽ như thế nào khi tôi biết rằng nó lật từ không để tăng dần và cuối cùng là giảm dần nhưng điều đó sẽ không có giải pháp vì nó sẽ thất bại nếu hành vi của điều khiển thay đổi.
Second try:
Các DataGrid
có một cái nhìn mặc định cung cấp truy cập đến một SortDescriptionCollection
. Bộ sưu tập này chứa tất cả các thuộc tính sắp xếp nhưng tôi không thấy bất kỳ khả năng nào để cho phép tôi thông báo về các thay đổi.
Tôi phải nói rằng tôi đang tìm một giải pháp càng sạch càng tốt vì nó sẽ được sử dụng trong một dự án lớn mà tôi không thể sử dụng các giải pháp có thể thất bại nếu môi trường thay đổi.
Có ai biết từ kinh nghiệm (hoặc tài liệu?) Cách tôi có thể giải quyết vấn đề này?
Chỉnh sửa: Để làm rõ hơn những gì tôi muốn đạt được: Tôi cần được thông báo rằng cột DataGrid
được sắp xếp theo hướng nào khi người dùng sắp xếp cột. Không cần thiết thông tin này xuất hiện sau khi tự sắp xếp, nó chỉ cần chính xác;)
Đó thực sự là giải pháp như vậy. SortDirection thay đổi thời điểm bạn nhấp vào Sắp xếp. Việc phân loại thực tế có thể mất nhiều thời gian hơn, bạn không đảm bảo rằng giải pháp của bạn sẽ khởi động chính xác sau khi sắp xếp xong. – Houman
Vì vậy, bạn đã có một ý tưởng khác? Đối với tôi điều này là tốt khi tôi sử dụng thông tin để lưu trữ nó trong một tập tin cấu hình để bắt đầu ứng dụng tiếp theo. Thời gian không quan trọng lắm. Tuy nhiên, như tôi đã viết, tôi không hoàn toàn hài lòng với điều này, vì vậy tôi muốn được hạnh phúc về đề xuất. – MatthiasG