Hallo zusammen
ich arbeite mich gerade ins Thema Validierungen ein, und stoss da auf eine grundlegende Frage:
Ist es generell möglich, seine Validierungen in einer extra-Klasse festzulegen (die natürlich
Mein Problem ist Folgendes: In meinem ViewModel hab ich mehrere Textboxen, in die alle ein gültiges Verzeichnis eingetragen werden soll.
Kann ich da die Validation Rules alle in einer extra Klasse unterbringen und dann auf meine TextBoxen anwenden?
Ich hab z.B. Folgendes in der View:
Und das wäre die Klasse mit den Validierungsregeln drinne:
Wenn ich in Zeile 8 einen Haltepunkt mache und dann ausführe und ein ungültiges Verzeichnis eintrage, kommt das Programm nicht an diesem Haltepunkt an...
Und in der Application.xaml hab ich das hier:
Mach ich irgendwas offensichtlich falsch?
ich arbeite mich gerade ins Thema Validierungen ein, und stoss da auf eine grundlegende Frage:
Ist es generell möglich, seine Validierungen in einer extra-Klasse festzulegen (die natürlich
IDataErrorInfo
implementiert)?Mein Problem ist Folgendes: In meinem ViewModel hab ich mehrere Textboxen, in die alle ein gültiges Verzeichnis eingetragen werden soll.
Kann ich da die Validation Rules alle in einer extra Klasse unterbringen und dann auf meine TextBoxen anwenden?
Ich hab z.B. Folgendes in der View:
Und das wäre die Klasse mit den Validierungsregeln drinne:
VB.NET-Quellcode
- Public Class Validierung
- Implements IDataErrorInfo
- Public Property MainModule As Services.IZentraleKlasse = Services.ServiceContainer.GetService(Of Services.IZentraleKlasse)
- Default Public ReadOnly Property Item(columnName As String) As String Implements IDataErrorInfo.Item
- Get
- Select Case columnName
- Case "MainModule.VSTVerzeichnis"
- If Not System.IO.Directory.Exists(MainModule.VSTVerzeichnis) Then
- Return "Bitte lege hier ein gültiges Verzeichnis fest."
- End If
- Case Else
- Return ""
- End Select
- Return ""
- End Get
- End Property
- Public ReadOnly Property [Error] As String Implements IDataErrorInfo.Error
- Get
- Throw New NotImplementedException()
- End Get
- End Property
- End Class
Wenn ich in Zeile 8 einen Haltepunkt mache und dann ausführe und ein ungültiges Verzeichnis eintrage, kommt das Programm nicht an diesem Haltepunkt an...
Und in der Application.xaml hab ich das hier:
XML-Quellcode
- <Style TargetType="{x:Type TextBox}" x:Key="txtFolder" BasedOn="{StaticResource {x:Type TextBox}}">
- <Style.Triggers>
- <Trigger Property="Validation.HasError" Value="true">
- <Setter Property="ToolTip"
- Value="{Binding RelativeSource={x:Static RelativeSource.Self},
- Path=(Validation.Errors)[0].ErrorContent}"/>
- </Trigger>
- </Style.Triggers>
- </Style>
Mach ich irgendwas offensichtlich falsch?