У меня есть комбинированное окно с источником данных, основанным на массиве объектов, а свойство Value
привязано к свойству в репозитории модели:
DataSource = someArray;
ValueMember = "ArrayValue";
DisplayMember = "Name";
DataBindings.Add("Value", repository, "RepositoryValue");
DataBindings["Value"].DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;
В некоторых сценариях пользователь изменяет выбранный элемент в поле со списком, и это отражается в repository.RepositoryValue
, а иногда мы извлекаем данные из файла или базы данных и непосредственно заполняем repository.RepositoryValue
, который затем автоматически отражается в поле со списком , Иногда файл или база данных могут содержать недопустимое значение (что-то, не включенное в someArray
), и мы хотели бы обнаружить этот сценарий и заставить поле со списком выбрать первый элемент в списке или полностью отклонить изменение , Возможно ли это, и как мы должны это делать?