Пользовательские элементы управления с привязкой к данным в .NET - PullRequest
2 голосов
/ 02 марта 2009

Я ищу информацию о том, как правильно реализовать привязку данных к созданному пользователем элементу управления.

Мой UserControl содержит текстовое поле, кнопку и MonthCalendar. Я могу привязать данные к Textbox внутри моего пользовательского элемента управления, однако я хочу реализовать привязку данных к самому UserControl, а не ссылаться на текстовое поле внутри элемента управления.

Я попытался установить свойство следующим образом:

  <System.ComponentModel.Bindable(True)> _
Public Property BoundDate() As DateTime
    Get
      Return _currentSelectedDate
    End Get
    Set(ByVal value As DateTime)
      SetDateTime(value, True)
    End Set
  End Property

Однако, когда я добавляю источник привязки в элемент управления, поле не заполняется данными, оно остается пустым. Нужно ли что-то делать, чтобы данные появлялись потом?

Может кто-нибудь направить меня к хорошему учебнику или, если возможно, объяснить это здесь. Проект написан на VB.NET.

РЕДАКТИРОВАНИЕ : я реализую атрибут DefaultBindingPropertyAttribute

1 Ответ

0 голосов
/ 02 марта 2009

С чем связано текстовое поле в данный момент? Я бы предложил следующее:

  1. В событии загрузки пользовательского элемента управления декларативно привязать текстовое поле к закрытой переменной-члену, например, private _boundDate as DateTime
  2. Установили ли вы в своем обновлении свойства boundDate _boundDate

Это выглядит довольно неплохо, хотя я сам на это не смотрел

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