Я установил двустороннюю привязку между моей формой (в ней 32 элемента управления) и экземпляром моего класса, но каждый символ, введенный в TextBox
, имеет задержку в 1/2 секунды, что делает приложение практически непригодным для использования.
Когда я использую DataSourceUpdateMode.Never
, проблема не возникает, что ясно указывает на то, что виновником является двусторонняя привязка.
Обратите внимание, что если я установлю DataSourceUpdateMode.Never
для каждого элемента управления , но Во-первых, для этого одного элемента управления существует задержка, поэтому кажется, что это не количество связанных элементов управления, которое вызывает проблему.
parameterTagRecord = new PETParameterTagRecord(TagID);
baseTagNameTB.DataBindings.Add("Text", parameterTagRecord,
"BaseTagName", true, DataSourceUpdateMode.OnPropertyChanged);
И выдержка из моего класса:
public class PETParameterTagRecord : PETBaseObject, INotifyPropertyChanged
{
private string _baseTagName = Constants.NullString;
public event PropertyChangedEventHandler PropertyChanged;
public string BaseTagName
{
get { return _baseTagName; }
set
{
_baseTagName = value;
NotifyPropertyChanged("BaseTagName");
}
}
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
}
Что я делаю не так?