Imports System.IO Imports System.Collections.ObjectModel Imports EgtWPFLib5 Public Class CompoType Inherits VMBase ' Folder Door Private m_FolderList As New ObservableCollection(Of CompoBrandDir) Public Property FolderList As ObservableCollection(Of CompoBrandDir) Get Return m_FolderList End Get Set(value As ObservableCollection(Of CompoBrandDir)) m_FolderList = value End Set End Property ' Folder Frame Private m_FrameFolderList As New ObservableCollection(Of CompoBrandDir) Public Property FrameFolderList As ObservableCollection(Of CompoBrandDir) Get Return m_FrameFolderList End Get Set(value As ObservableCollection(Of CompoBrandDir)) m_FrameFolderList = value End Set End Property ' Folder Hardware Private m_HardwareFolderList As New ObservableCollection(Of CompoBrandDir) Public Property HardwareFolderList As ObservableCollection(Of CompoBrandDir) Get Return m_HardwareFolderList End Get Set(value As ObservableCollection(Of CompoBrandDir)) m_HardwareFolderList = value End Set End Property Private m_IsSelectedBtn As Boolean = False Public Property IsSelectedBtn As Boolean Get Return m_IsSelectedBtn End Get Set(value As Boolean) m_IsSelectedBtn = value NotifyPropertyChanged("IsSelectedBtn") End Set End Property Private m_Name As String Public ReadOnly Property Name As String Get Return m_Name End Get End Property Public Sub SetName(Name As String) m_Name = Name End Sub Private m_DDFName As String Public ReadOnly Property DDFName As String Get Return m_DDFName End Get End Property Public Sub SetDDFName(DDFName As String) m_DDFName = DDFName End Sub Private m_Path As String Public ReadOnly Property Path As String Get Return m_Path End Get End Property Public Sub SetPath(Path As String) m_Path = Path End Sub Private m_ImageDoorHardware As String Public ReadOnly Property ImageDoorHardware As String Get Return m_ImageDoorHardware End Get End Property Public Sub SetImageDoorHarware(Image As String) m_ImageDoorHardware = Image End Sub Private m_ShowToolTipImag As Visibility = Visibility.Collapsed Public ReadOnly Property ShowToolTipImg As Visibility Get If Not String.IsNullOrEmpty(m_ImageDoorHardware) Then m_ShowToolTipImag = Visibility.Visible Else m_ShowToolTipImag = Visibility.Collapsed End If Return m_ShowToolTipImag End Get End Property Private m_JambSide As String Public ReadOnly Property JambSide As String Get Return m_JambSide End Get End Property Public Sub SetJambSide(JambSide As String) m_JambSide = JambSide End Sub Private m_FolderName As String Public ReadOnly Property FolderName As String Get Return m_FolderName End Get End Property Public Sub SetFolderName(FolderName As String) m_FolderName = FolderName End Sub Private m_DDFMaterial As String Public ReadOnly Property DDFMaterial As String Get Return m_DDFMaterial End Get End Property Public Sub SetDDFMaterial(DDFMaterial As String) m_DDFMaterial = DDFMaterial End Sub Public Function LoadListTemplate() As Boolean m_FolderList.Clear() m_FrameFolderList.Clear() m_HardwareFolderList.Clear() GetDirectoryCompoModel(m_Path, m_FolderList, m_FrameFolderList, m_HardwareFolderList) Return True End Function Public Function DeepCopy() As CompoType Dim other As CompoType = DirectCast(Me.MemberwiseClone, CompoType) other.LoadListTemplate() Return other End Function Sub New(sName As String, sDDFName As String, sPath As String, sJambSide As String, sFolderName As String, Optional sDDFMaterial As String = "wood") m_Name = sName m_DDFName = sDDFName m_Path = sPath m_JambSide = sJambSide m_FolderName = sFolderName m_DDFMaterial = sDDFMaterial LoadListTemplate() End Sub Sub New(sName As String, sDDFName As String, sPath As String, sImage As String, sJambSide As String, sFolderName As String, Optional sDDFMaterial As String = "wood") m_Name = sName m_DDFName = sDDFName m_Path = sPath m_ImageDoorHardware = sImage m_JambSide = sJambSide m_FolderName = sFolderName m_DDFMaterial = sDDFMaterial LoadListTemplate() End Sub End Class