Вам нужно предоставить TypeConverter
для вашего пользовательского типа, чтобы его можно было преобразовать в строку и из строки, а затем украсить ваш пользовательский тип с помощью TypeConverterAttribute
.
Получите ваш TypeConverter от ExpandableObjectConverter
.
public class MyTypeConverter : ExpandableObjectConverter
{
}
Переопределить CanConvertTo()
, ConvertTo()
, CanConvertFrom()
и ConvertFrom()
, чтобы обеспечить возможность преобразования пользовательского типа в строку (это значение, которое отображается в сетке свойств в главной строке, которую вы можете см, прежде чем расширяться) и от строки обратно к себе. Распространенным строковым представлением будет показ списка всех значений поля, разделенных запятыми.
Украсьте пользовательский тип с помощью TypeConverterAttribute
.
[TypeConverter(typeof(MyTypeConverter ))]
public struct MyType
{
}
Это самый необходимый минимум для начала. Существует гораздо больше, чтобы учиться. Эта статья MDSN может быть хорошим началом.