Знакомство с интерфейсом IBindingList

методы b ibindinglist b описаны

Свойства интерфейса IBindingList Доступны только для чтения и описываются в таблице 7.8. Методы IBindingList Описаны в таблице 7.9, а единственное событие Все примитивные изменения коллекции, в форме прямого добавления элементов, удаления элементов или с доступом к отдельному элементу, производятся через свойства и методы унаследованного интерфейса IList, как было описано в соответствующем разделе. Функции изменений интерфейса IBindingList позволяют контролировать, можно ли делать в списке изменения или конструировать новые элементы. Метод AddNew предоставляет привязанному элементу управления удобный способ добавления нового элемента к коллекции, которую можно редактировать прямо в элементе управления, причем последнему ничего не требуется знать о типе элемента во время компиляции. Метод возвращает объектную ссылку на созданный элемент, которая может затем быть использована с методами позднего связывания или рефлексией для раскрытия свойств этого элемента и его отображения. Свойства AllowEdit, AllowNew и AllowRemove позволяют коллекции сообщить привязанному элементу управления, какого рода модификации она поддерживает, чтобы элемент управления мог отображаться по-разному в зависимости от возможностей нижележащей коллекции. Например, не имело бы смысла иметь в элементе управления кнопку, добавляющую к коллекции новый элемент, если привязанная к нему в данный момент коллекция не допускает модификаций. Эти свойства доступны только для чтения, поэтому сама коллекция решает, поддерживает ли эти функции. Коллекция может экспонировать другие методы, пусть они и не входят в интерфейс IBindingList, которые позволят коду-потребителю включать и выключать режимы «только чтение» или «фиксированный размер»; соответственно значения, возвращаемые коллекцией в этих свойствах, могут изменяться со временем. Эти свойства первоначально разрабатывались в предположении, что такие аспекты коллекции меняться не могут: она либо поддерживает изменения, либо нет. На уровне представления могут использоваться разные элементы управления, определяющие, собираетесь ли вы разрешить пользователю делать модификации в любой момент времени.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *