Вы не можете привязать к общему свойству. Вам необходимо удалить модификатор Shared из свойства, создать экземпляр класса и использовать этот экземпляр для привязки данных. Ваш класс будет выглядеть примерно так:
Public Class someClass
Private _Filter_Neighbor_6X1 As Boolean = True
Public Property Filter_Neighbor_6X1() As Boolean
Get
Return _Filter_Neighbor_6X1
End Get
Set(ByVal Value As Boolean)
_Filter_Neighbor_6X1 = Value
End Set
End Property
End Class
Тогда вы можете сделать что-то вроде:
Dim instanceOfSomeClass As New someClass()
chk_FilterAll.DataBindings.Add("Checked", instanceOfSomeClass, "Filter_Neighbor_6X1")
Обратите внимание, что если у вас нет дополнительной логики в Get
или Set
свойства, вы можете избавиться от вспомогательного поля и преобразовать его в свойство Auto-Implemented (сокращение): *
Public Property Filter_Neighbor_6X1 As Boolean = true
Более того, если вы не хотите каждый раз создавать экземпляр класса, вы можете сделать его синглтоном :
Public Class someClass
Private Shared _instance As someClass
Private Sub New()
End Sub
Public Shared ReadOnly Property Instance As someClass
Get
If _instance Is Nothing Then _instance = New someClass()
Return _instance
End Get
End Property
Public Property Filter_Neighbor_6X1 As Boolean = True
End Class
Затем вы можете использовать его прямо так:
chk_FilterAll.DataBindings.Add("Checked", someClass.Instance, "Filter_Neighbor_6X1")
* Вам, вероятно, do нужна дополнительная логика в этом конкретном случае, чтобы уведомить об изменении свойства, чтобы элемент управления мог отразить это изменение. Проверьте другой ответ для получения дополнительной информации.