У меня есть пользовательский элемент управления со свойством Items
.Я применил EditorAttribute
с UITypeEditor
типа CollectionEditor
.
Тип коллекции:
[Serializable]
[Editor(typeof(CollectionEditor), typeof(UITypeEditor))]
public class ListItemsCollection : CollectionBase
{
// methods
}
Объявление свойства в элементе управления:
private new ListItemsCollection _Items;
[Editor(typeof(CollectionEditor), typeof(UITypeEditor))]
public new ListItemsCollection Items
{
get
{
return _Items;
}
set
{
_Items = value;
// do other UI changes
}
}
Проблема:
Когда я перетаскиваю этот элемент управления на поверхность конструктора, я могу добавить элементы в свойство Items, используя PropertyGrid
.Но когда я нажимаю кнопку Ok
CollectionEditor
, метод вызова свойства Items
не вызывается.
AFAIK, когда значение возвращается из метода EditValue
метода UITypeEditor
класс, который должен вызываться блок установки свойства.
Это сводит меня с ума.Я даже пытался добавить Event
в ListItemsCollection
, чтобы при добавлении элементов я мог делать все, что захочу, с помощью пользовательского интерфейса элемента управления.
Это не должно быть сложно.Что я делаю не так?