2013-02-24 48 views
13

Tôi không thể tìm thấy bất kỳ danh sách các thuộc tính có sẵn cho PropertyGrid trong C#, bạn có biết nơi tôi có thể tìm thấy nó không?Danh sách Thuộc tínhGrid Các thuộc tính

Cảm ơn.

+0

Um. Bạn nghĩ danh sách tài sản là gì? – Oded

+0

Theo thuộc tính, tôi có nghĩa là thứ bạn đặt trên đầu trang thuộc tính của mình, ví dụ, hiển thị tên khác hoặc đặt chúng vào một danh mục trong thuộc tính :) Giống như sau: [CategoryAttribute ("ID Settings"), DescriptionAttribute ("Số an sinh xã hội của khách hàng")] – Phito

+1

http://msdn.microsoft.com/en-us/library/system.componentmodel.aspx –

Trả lời

18

Các thuộc tính tác động đến PropertyGrid là gián tiếp: mã thú vị là TypeDescriptor cung cấp việc thực hiện PropertyDescriptor. Tuy nhiên, van này bị ICustomTypeDescriptor hoặc TypeDescriptionProvider loại bỏ.

Tuy nhiên, nếu chúng ta giả định các quy tắc mặc định, các thuộc tính quan trọng trong vở kịch là:

  • [DisplayName(...)]
  • [Description(...)]
  • [Category(...)]
  • [TypeConverter(...)]
  • [ReadOnly(...)]
  • [Browsable(...)]
  • [DefaultValue(...)]
  • [Editor(...)]

Một số điều khác được phát hiện bởi mô hình như sự hiện diện của một ShouldSerialize {name} hoặc Thiết lập lại {name} phương pháp.

+0

Trình chỉnh sửa cũng khá quan trọng đối với lưới thuộc tính. –

+0

@Simon tôi đã buộc phải bỏ lỡ một ... nhờ –

+0

tôi cũng sẽ thêm RefreshPropertiesAttribute NotifyParentPropertyAttribute –

4

tôi cũng sẽ thêm

RefreshPropertiesAttribute

NotifyParentPropertyAttribute

+0

NotifyParentPropertyAttribute - Chính xác những gì tôi đang tìm kiếm! Cảm ơn! – NightElfik

0

Tôi cũng xin thêm "MergableAttribute". Điều này rất hữu ích để ngăn chặn lưới thuộc tính thành các trường nhận dạng nhóm, vì nếu bạn chọn nhiều đối tượng, bạn không muốn sửa đổi thuộc tính "Tên" (ví dụ) của các đối tượng bằng cách sử dụng lưới thuộc tính, vì nó phải duy nhất cho mỗi đối tượng ...

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