Pergunta

Estou procurando algumas informações sobre como implementar adequadamente a ligação de dados em um controle criado pelo usuário.

Meu UserControl contém uma caixa de texto, um botão e um mês. Sou capaz de banco de dados na caixa de texto dentro do meu controle de usuário, no entanto, quero implementar o banco de dados no próprio UserControl e não referência à caixa de texto dentro do controle.

Eu tentei definir uma propriedade da seguinte maneira:

  <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

No entanto, quando adiciono uma fonte de ligação ao controle, o campo não preenche com os dados, ele permanece em branco. Preciso fazer algo para fazer com que os dados apareçam depois?

Alguém pode me direcionar para um bom tutorial ou, se possível, explicar aqui. O projeto está escrito em vb.net.

EDITAR: Estou implementando o DefaultBindingPropertyAttribute

Foi útil?

Solução

Para que a caixa de texto está ligada neste ponto? Eu sugeriria o seguinte:

  1. No evento de carga de controle do usuário, vincule declarativamente a caixa de texto a uma variável de membro privado, por exemplo, private _bounddate como DateTime
  2. Você tem setter em sua propriedade de benstate update _bounddate

Parece uma leitura muito boa, embora eu não tenha olhado para isso sozinho

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top