Imports System.ComponentModel Imports System.Collections.ObjectModel Imports EgtUILib Public Class CompoPanelViewModel Implements INotifyPropertyChanged Private m_Door As Door Public Property Door As Door Get Return m_Door End Get Set(value As Door) m_Door = value End Set End Property Private Shared m_CompoBtnList As New ObservableCollection(Of CompoBtn) Public Shared ReadOnly Property CompoBtnList As ObservableCollection(Of CompoBtn) Get Return m_CompoBtnList End Get End Property Sub New(ByRef Door As Door) Me.m_Door = Door ' Lettura file ini per generare bottoni Dim Index As Integer = 1 Dim CompoName As String = String.Empty Dim CompoNameDDF As String = String.Empty Dim nCompoName As Integer = 0 ' ciclo sui Compo While Index <> -1 CompoGetPrivateProfileNameGroup(ConstCompo.S_COMPO & Index, ConstCompo.K_NAME, CompoNameDDF, CompoName) ' se lo trovo If CompoName = String.Empty Then Index = -1 Else m_CompoBtnList.Add(New CompoBtn(CompoName, ConstCompo.S_COMPO & Index, CompoNameDDF, AddressOf Door.AddNewCompo)) Index += 1 End If End While End Sub Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged Public Sub NotifyPropertyChanged(propName As String) RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName)) End Sub End Class