Imports System.IO Imports EgtUILib Public Class NameDialogVM Inherits VMBase Private m_NameVerifyer As Func(Of String, Boolean) Public WriteOnly Property NameVerifyer As Func(Of String, Boolean) Set(value As Func(Of String, Boolean)) m_NameVerifyer = value End Set End Property Private m_Title As String Public Property Title As String Get Return m_Title End Get Set(value As String) m_Title = value End Set End Property Private m_VerifyChars As Boolean = True Public WriteOnly Property VerifyChars As boolean Set(value As Boolean) m_VerifyChars = value End Set End Property Private m_Name As String Public Property Name As String Get Return m_Name End Get Set(value As String) If m_VerifyChars Then Dim TempName As String = value For Each cInvalid In Path.GetInvalidFileNameChars() TempName = TempName.Replace(cInvalid, "") Next If TempName.Length = value.Length Then m_Name = value Else MessageBox.Show(EgtMsg(MSG_MACHININGDBERRORS + 4), EgtMsg(MSG_EGTSAVEFILEDIALOG + 7), MessageBoxButton.OK, MessageBoxImage.Error) m_Name = TempName End If Else m_Name = value End If NotifyPropertyChanged("Name") End Set End Property #Region "Messages" Public ReadOnly Property SaveMsg As String Get Return EgtMsg(MSG_EGTSAVEFILEDIALOG + 1) End Get End Property Public ReadOnly Property CancelMsg As String Get Return EgtMsg(MSG_EGTSAVEFILEDIALOG + 2) End Get End Property #End Region Friend Function Save() As Boolean Return m_NameVerifyer(m_Name) End Function End Class