Проблема с привязкой данных при использовании пользовательского списка - PullRequest
0 голосов
/ 09 марта 2012

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

cboGender.DataSource = Animal.SpecificGenders;
cboGender.DataBindings.Clear();
cboGender.DataBindings.Add("text", animal, "Gender");

((ReadOnlyComboBox)cboGender).Readonly = true;

Когда вышеупомянутая строка попадает, это свойство вызывает:работает отлично.«This.Text» в указанном выше установщике показывает значение, которое было связано с ним.Однако, когда я устанавливаю для Reaonly значение true, «this.Text» показывает пустую строку.Это единственная разница, которую я делаю.This.Text относится к стандартному свойству Combobox Text.

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 10 марта 2012

Базовый ComboBox имеет свойство DropDownStyle, которое может быть установлено в DropDownList, что делает ComboBox доступным только для чтения. Возможно, вы могли бы сделать это вместо реализации собственного свойства ReadOnly.

Если нет, я подозреваю, что ваша проблема существует в методе ShowControl (). Даже если вы впервые устанавливаете свойство textBox.Text, что-то в методе ShowControl () препятствует обновлению элемента управления. И, на самом деле, установка другого свойства из этого свойства мне не совсем подходит.

Вы уже используете DataBinding, поэтому настройка свойства Text уже должна обрабатываться в другом месте.

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