WPF: простая привязка данных TextBox

Запуск является командой svn вина (или аннотируйте, похвала). Это покажет Вам, когда строка кода была в последний раз изменена и кем это было изменено. например:

  4564    wiemann # $Id$
  4564    wiemann # Author: David Goodger <goodger@python.org>
   778    goodger # Copyright: This module has been placed in the public domain.
   217    goodger 
51
задан lelimacon 1 March 2016 в 04:00
поделиться

2 ответа

Имя2 - это поле. WPF привязывается только к свойствам. Измените его на:

public string Name2 { get; set; }

Имейте в виду, что с этой минимальной реализацией ваш TextBox не будет реагировать на программные изменения Name2. Поэтому для сценария обновления таймера вам необходимо реализовать INotifyPropertyChanged:

partial class Window1 : Window, INotifyPropertyChanged
{
  public event PropertyChangedEventHandler PropertyChanged;

  protected void OnPropertyChanged(string propertyName)
  {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
  }

  private string _name2;

  public string Name2
  {
    get { return _name2; }
    set
    {
      if (value != _name2)
      {
         _name2 = value;
         OnPropertyChanged("Name2");
      }
    }
  }
}

Вам следует подумать о переносе этого в отдельный объект данных, а не в свой класс Window.

76
ответ дан 7 November 2019 в 10:11
поделиться

Ваше окно не реализует необходимые уведомления о привязке данных, которые требуются сетке для использования ее в качестве источника данных, а именно интерфейс INotifyPropertyChanged .

Ваше «Имя2» Строка также должна быть свойством, а не общедоступной переменной, поскольку привязка данных предназначена для использования со свойствами.

Реализацию необходимых интерфейсов для использования объекта в качестве источника данных можно найти здесь .

]
7
ответ дан 7 November 2019 в 10:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: