質問

ユーザーが作成したコントロールにデータバインディングを適切に実装する方法に関する情報を探しています。

My UserControlには、Textbox、Button、およびMonthCalendarが含まれています。ユーザーコントロール内のTextboxにデータバインドできますが、コントロール内の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. ユーザーコントロールロードイベントで、テキストボックスをプライベートメンバー変数に宣言的にバインドします。 DateTimeとしてのprivate _boundDate
  2. boundDateプロパティupdate _boundDateでセッターを設定しました

これはかなり読みやすいように見えますが、自分で調べたことはありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top