У меня есть группа с дочерними кнопками. Все дочерние кнопки имеют привязку данных .Enabled к логическим значениям уровня формы. Я также привязал логические значения к меткам ради устранения неполадок. Это минимальное воспроизведение проблемы, с которой я столкнулся в более крупном приложении.
Отключение групповой коробки работает нормально.
Повторное включение групповой коробки не выполняется, как видно на экране. захватить. Button3 должен быть снова включен. Это не так. Почему?
Imports System.ComponentModel
Public Class Form1
Implements INotifyPropertyChanged
Private _canClone As Boolean = True
Private _canEdit As Boolean = True
Public Property CanClone As Boolean
Get
Return _canClone
End Get
Set(value As Boolean)
_canClone = value
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("CanClone"))
End Set
End Property
Public Property CanEdit As Boolean
Get
Return _canEdit
End Get
Set(value As Boolean)
_canEdit = value
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("CanEdit"))
End Set
End Property
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
GroupBox1.Enabled = Not GroupBox1.Enabled
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Button1.DataBindings.Add(New Binding("Enabled", Me, "CanClone" , True, DataSourceUpdateMode.OnPropertyChanged))
Button3.DataBindings.Add(New Binding("Enabled", Me, "CanEdit" , True, DataSourceUpdateMode.OnPropertyChanged))
Label1 .DataBindings.Add(New Binding("Text", Me, "CanClone" , True, DataSourceUpdateMode.OnPropertyChanged))
Label3 .DataBindings.Add(New Binding("Text", Me, "CanEdit" , True, DataSourceUpdateMode.OnPropertyChanged))
End Sub
End Class