При повторном включении GroupBox с дочерними узлами с привязкой к данным, только первый дочерний элемент снова включается - PullRequest
2 голосов
/ 13 января 2020

screen capture of defect

У меня есть группа с дочерними кнопками. Все дочерние кнопки имеют привязку данных .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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...