2015-08-01 1 views
0

Как я могу назначить пользовательский класс (Заказчик, Заказ и т. Д.) Для DevExpress PropertyGridControl (или собственного Windows.Forms.PropertyGrid) во время разработки?
Выпадающий список PropertyGridControl.SelectedObject показывает только другие элементы управления, используемые в форме, но не пользовательские поля, объявленные мной. Например:Как назначить пользовательский класс PropertyGridControl.SelectedObject во время разработки

Dim oCustomer As new Customer 

Я хотел бы настроить MultiEditorRows, стили и т.д. во время разработки, чтобы показать свой объект правильно.
Во время выполнения это так же просто, как:

myPropertyGridControl.SelectedObject = New Customer 

Любая помощь будет принята с благодарностью. Пожалуйста, извините мой плохой английский.

ответ

1

При проектировании в качестве объекта SetObject можно выбрать только компоненты, существующие на форме. Из-за чего вы можете сделать свой объект потомком Component и отбросить его на форму, чтобы выбрать его. Но я не думаю, что вам это действительно нужно. Насколько я понимаю, вам нужно генерировать ряды сетки во время разработки для их настройки. Если это так, лучше использовать конструктор Rows Page, чтобы вручную добавить нужные строки и настроить их.

+0

Да, я должен отметить это как ответ. Элемент управления собственными WinForms PropertyGrid позволяет взломать его, написав 'Me.PropertyGrid1.SelectedObject = New MyClass' в скрытом файле' Form1.Designer.vb' и он показывает свои свойства в конструкторе форм. Но devexpress 'one does not. Я должен создавать/форматировать все строки вручную во время разработки, а затем назначать экземпляр во время выполнения. Благодарю. –

+0

, в противном случае есть удобный DataLayoutControl от devx, который использует BindingSource –