Frage

Ich suche nach Informationen darüber, wie die Datenbindung für eine vom Benutzer erstellte Steuerung ordnungsgemäß implementiert werden kann.

Mein UserControl enthält eine Textbox, eine Schaltfläche und einen Monat. Ich bin in der Lage, in der Textbox innerhalb meiner Benutzersteuerung Datenbank zu Daten zu Daten zu setzen. Ich möchte jedoch die Datenbank auf der UserControl selbst implementieren und nicht auf Textbox innerhalb des Steuerelements verweisen.

Ich habe versucht, eine Eigenschaft wie folgt festzulegen:

  <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

Wenn ich jedoch der Steuerung eine Bindungsquelle hinzufüge, wird das Feld nicht mit den Daten ausgefüllt, sondern leer. Muss ich etwas tun, um die Daten danach erscheinen zu lassen?

Kann mich jemand zu einem guten Tutorial leiten oder es hier, wenn möglich, hier erklären. Das Projekt ist in VB.NET geschrieben.

BEARBEITEN: Ich implementiere die StandardbindingPropertyAttribute

War es hilfreich?

Lösung

Worauf ist die Textbox an diesem Punkt gebunden? Ich würde Folgendes vorschlagen:

  1. Binden Sie im Ereignis der Benutzersteuerung das Textfeld deklarativ an eine private Mitgliedsvariable, z. B. private _bounddate als DateTime
  2. Haben Sie Setter in Ihrem BoundDate -Eigenschaft -Update _BoundDate

Das sieht nach einer ziemlich guten Lektüre aus, obwohl ich es mir selbst nicht angesehen habe

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top