Controlli utente Databound in .NET
-
03-07-2019 - |
Domanda
Sto cercando alcune informazioni su come implementare correttamente l'associazione dei dati su un controllo creato dall'utente.
My UserControl contiene una casella di testo, un pulsante e un MonthCalendar. Sono in grado di collegarsi alla casella di testo all'interno del mio controllo utente, tuttavia, desidero implementare la banca dati sullo UserControl stesso e non fare riferimento alla casella di testo all'interno del controllo.
Ho tentato di impostare una proprietà come segue:
<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
Tuttavia, quando aggiungo un'origine di associazione al controllo, il campo non viene popolato con i dati, rimane vuoto. Devo fare qualcosa per far apparire successivamente i dati?
Qualcuno può indirizzarmi a un buon tutorial o, se possibile, spiegarlo qui. Il progetto è scritto in VB.NET.
MODIFICA : sto implementando DefaultBindingPropertyAttribute
Soluzione
A cosa è legata la casella di testo a questo punto? Suggerirei quanto segue:
- Nell'evento di caricamento del controllo utente, associa in modo dichiarativo la casella di testo a una variabile membro privata, ad es. private _boundDate as DateTime
- Hai settato nel tuo aggiornamento della proprietà boundDate _boundDate
Sembra una lettura abbastanza buona, anche se non l'ho guardata da solo