Здравствуйте, коллеги!
в PropertyGrid делаю свойство
[DisplayName("Выбран")]
[Description("Объект над которым выполняются действия")]
[Category("Объекты")]
[TypeConverter(typeof(SelObjTypeConverter))]
public string SelectedObjectName
{
get { return _SelectedObjectName; }
set { _SelectedObjectName = value; }
}
// выпадающий список для выбора объекта
class SelObjTypeConverter : StringConverter
{
public SelObjTypeConverter() { }
// сам список для выбора
public static List<cItem> SObjectsList = new List<cItem>();
// выбор из списка
public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return true; }
// список не редактируется
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return true; }
// отдать список
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{ return new StandardValuesCollection(SObjectsList); }
}
// элемент списка
public class cItem
{
public string cName { get; set; }
public int cValue { get; set; }
public override string ToString() { return cName; }
}
Из выпадающего списка выбирается успешно.
При смене значения двойным щелчком мыши выбрасывает ошибку — Недопустимое значение свойства — Невозможно преобразовать объект типа "cItem" к типу "System.String".
Помогите побороть!
соответственно,
private string _SelectedObjectName;