簡體   English   中英

Winform用戶控件上標簽的數據綁定

[英]Databindings for label on a winform usercontrol

我正在為一個包含兩個標簽的winform應用程序創建一個用戶控件,一個標簽為標題,另一個標簽需要通過Me.usercontrol1.databindings.add()綁定到數據源。 我是用戶控件設計的新手,所以我在Internet上搜索了如何為控件創建數據綁定。 我意識到我需要使用ControlBindingsCollection但我不知道具體如何。

我發現以下代碼並將其添加到我的usercontrol中:

Private bindingContext_ As BindingContext
Private dataBindings_ As ControlBindingsCollection
Public Overrides Property BindingContext() As BindingContext
    Get
        If bindingContext_ Is Nothing Then
            bindingContext_ = New BindingContext()
        End If
        Return bindingContext_
    End Get
    Set(ByVal value As BindingContext)
        bindingContext_ = value
    End Set
End Property
<DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
Public Overloads ReadOnly Property DataBindings() As ControlBindingsCollection
    Get
        If dataBindings_ Is Nothing Then
            dataBindings_ = New ControlBindingsCollection(Me)
        End If
        Return dataBindings_
    End Get
End Property

現在我可以設置usercontrol1.databindings參數,但是顯然缺少一些東西,因為我需要將此綁定中的單個返回值連接到我的usercontrol中的label2.Text ,但我不知道該怎么做。

有沒有人可以幫助我解決我的問題?

提前致謝。

我認為您不需要問題中的代碼即可完成此工作。

嘗試在UserControl中創建一個使用第二個標簽的屬性:

Property LabelData As String
  Get
    Return Label2.Text
  End Get
  Set(value As String)
    Label2.Text = value
  End Set
End Property

然后,您的數據綁定僅映射到該屬性:

myUC.DataBindings.Add("LabelData", testObject, "Text", False, _
                      DataSourceUpdateMode.OnPropertyChanged)

在本示例中,testObject只是具有Text屬性的簡單類對象,該對象實現了INotifyPropertyChanged接口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM