Я создаю пакет Visual Studio для VS 2010 с помощью VB.Net, который содержит настраиваемый редактор. Редактор представляет много элементов в ListViews. Я хочу, чтобы выбранный элемент (его родительский элемент и любые дочерние элементы) отображался в списке объектов панели свойств PropertyGrid, чтобы разрешить редактирование свойств. У меня это работает. Обычно выпадающий список выбираемых элементов появляется с именем объекта жирным шрифтом, за которым следует имя типа для этого объекта. В моем пакете я не могу получить жирное имя, только имя типа.IProvideClassInfo для Visual Studio Добавить для панели свойств
http://msdn.microsoft.com/en-us/library/vstudio/bb165752(v=vs.100).aspx
Эта страница является только часть информации, которую я могу найти о наименовании объекта в списке объектов. Поскольку состояние ссылки, я реализовал IProvideClassInfo в объектах, которые я передаю VS для отображения в списке, но метод GetClassInfo никогда не вызывается и имя не отображается. Каждый объект также имеет общедоступное свойство, называемое «Имя», а также только в том случае, если это сработало. Это не так.
Может ли кто-нибудь сказать мне, что я делаю неправильно?
Какой язык вы используете? –
Очень расплывчатый. Если это объект .NET, который вы показываете вместо COM-объекта, вам нужен TypeConverter, чтобы настроить способ его отображения. –
Хорошо, все, что я могу найти с участием TypeConverters, не имеет ничего общего с этим. Я думал, что вы что-то сделали из-за объекта COM-объекта. obj.GetType(). isOObject возвращает false для всех моих объектов, и я не уверен, как создать объект, который на самом деле является COM-объектом в VB.net. У Microsoft есть статья об этом, но в ней есть заметка о том, что они не являются «истинными» объектами com, поэтому я все еще не в порядке по всему этому. Кажется, никто этого не делал раньше. Шаблон по умолчанию, поставляемый с SDK VS 2010 SP1, не делает это правильно. – syko9000