PropertyGrid - Ilist Collection Удалить не стрельбу, как ожидалось - PullRequest
0 голосов
/ 27 января 2009

У меня есть объект коллекции, который реализует IList. Внутри коллекции я использовал список для сбора предметов. Внутри PropertyGrid (во время выполнения) он правильно связывается, и открывается редактор коллекций. Я могу редактировать, правильно добавлять элементы и ловить эти методы, когда они используются в классе коллекции.

Однако, если вы попытаетесь удалить какие-либо элементы, они будут удалены из коллекции, но ни IList.Remove, ни IList.RemoveAt, похоже, не используются из моей Коллекции. Удаленные элементы также должны быть удалены из базы данных, поведение, которое я реализую в методах Remove.

Я также удалил всю логику из методов удаления и оставил их с помощью throw new NotImplmented (), и они вообще не запускаются!

Я также реализовал собственный CollectionEditor, но все еще не вижу способа подключиться к моим объектам.

Итак, где мне искать соответствующие методы? мне также нужно изменить поведение своих вещей?

Ответы [ 2 ]

0 голосов
/ 27 января 2009

Ну, Крысы!

Внутри моего CollectionEditor есть ли способ получить фактическую коллекцию? Я думаю, что я получу коллекцию, а затем сравню ее после нажатия OK и удаляю записи оттуда.

если это не удастся, стряхните экранную заставку матрицы, найдите хорошую книгу и скажите всем, что она компилируется.

0 голосов
/ 27 января 2009

Редактор коллекций не использует Remove или RemoveAt . Вместо этого, когда пользователь нажимает кнопку OK, он вызывает метод IList.Clear , а затем вызывает IList.Add , чтобы добавить все элементы, которые будет содержать коллекция. Не то чтобы он работал с неуниверсальной версией IList .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...