Files
EgtWPFLib5/NameDialog/NameDialogVM.vb
2025-03-24 11:04:08 +01:00

80 lines
2.3 KiB
VB.net

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(31404),
EgtMsg(31407),
MessageBoxButton.OK, MessageBoxImage.Error)
'EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(31404), ' I caratteri \ / : * ? " < > | non sono permessi
' EgtMsg(31407), ' Cancella
' MessageBoxButton.OK, MessageBoxImage.Error)
m_Name = TempName
End If
Else
m_Name = value
End If
NotifyPropertyChanged(NameOf(Name))
End Set
End Property
#Region "Messages"
Public ReadOnly Property SaveMsg As String
Get
Return EgtMsg(30001) ' Salva
End Get
End Property
Public ReadOnly Property CancelMsg As String
Get
Return EgtMsg(30002) ' Annulla
End Get
End Property
#End Region
Friend Function Save() As Boolean
Return m_NameVerifyer(m_Name)
End Function
End Class