Tôi yêu PropertyGrid, tốt, ít nhất là khái niệm đằng sau nó - sử dụng sự phản ánh và các thuộc tính để chỉnh sửa các đối tượng của bạn mà không cần viết nhiều mã UI.PropertyGrid lựa chọn thay thế
Sự phấn khích của tôi đã chết khá nhanh, mặc dù giao dịch PropertyGrid mặc định với tính năng hoàn toàn không sử dụng WinForms. Vâng, nó là tốt để chỉnh sửa các đối tượng đơn giản và như vậy, nhưng đó là như xa như nó đi.
- Nó không hiển thị UITypeEditors thích hợp cho thuộc tính động có loại "Đối tượng".
- Ngay khi đối tượng của bạn chứa các bộ sưu tập, bạn có thể chỉnh sửa chúng bằng cái gọi là CollectionEditor. Tuy nhiên, nó sẽ không kích hoạt sự kiện PropertyValueChanged. Vì vậy, một khi bạn cần phải thêm chức năng hoàn tác, bạn đang say.
- Và tôi vẫn chưa tìm thấy cách thanh lịch để thêm xác thực cho CollectionEditor.
- Nó cũng có vấn đề để thực hiện hoàn tác nếu bạn có nhiều đối tượng được chọn, bởi vì trong trường hợp đó sự kiện PropertyValueChanged args ChangedItem là null.
Tôi sớm tìm thấy chính mình bằng văn bản hack để giải quyết những vấn đề đó với ít hơn kết quả dễ chịu.
Bạn sẽ làm gì? Có một giải pháp thanh lịch cho ít nhất ba vấn đề đầu tiên không? Có một tài sản thay thế không? Tốt nhất là miễn phí & mà không có PInvokes?
Đối với tài sản được đổi cho bộ sưu tập. Tôi sẽ lo lắng nếu có điều gì đó thay đổi tham chiếu của cá thể bộ sưu tập. Hãy suy nghĩ về nó. – leppie