Я установил двухстороннюю привязку между моей формой (у нее 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));
}
}
}
Что я делаю не так?