Hallo miteinander
ich habe ein kleines Problem, und zwar hab ich ein DataGrid mit einer Custom-Spalte mit einer Textbox drin:
Die Inhalte der Textboxen will ich validieren, so dass der User keine ungültigen Dateinamenzeichen eingeben kann.
Funktioniert auch soweit ganz gut, bei einem ungültigen Zeichen werden die Textboxen rot umrandet, aber erst wenn der Benutzer händisch was ändert. Wenn jedoch beim initialisieren des modalen Dialogs mit dem DataGrid drin schon unerwünschte Zeichen drin sind (in
Gibt es eine Möglichkeit, die Validation Rules zu forcieren oder hat jemand eine Idee, wie ich dem zu Leibe rücken kann?
Freu mich auf Eure Antworten
ich habe ein kleines Problem, und zwar hab ich ein DataGrid mit einer Custom-Spalte mit einer Textbox drin:
XML-Quellcode
- <DataGrid Name="dgrdAudioDateien" ItemsSource="{Binding TitelListe, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" AutoGenerateColumns="False" IsReadOnly="False" HeadersVisibility="Column" SelectionMode="Single" CanUserAddRows="False">
- <DataGridTemplateColumn Header="DateiName/URL" Width="*">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBox>
- <Binding Path="GenFN" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged">
- <Binding.ValidationRules>
- <viewmodel:DateiNameValidationRule/>
- </Binding.ValidationRules>
- </Binding>
- </TextBox>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- ...
- </DataGrid>
VB.NET-Quellcode
- Imports System.Globalization
- Imports System.Windows.Controls
- Public Class DateiNameValidationRule
- Inherits ValidationRule
- Public Overrides Function Validate(value As Object, cultureInfo As CultureInfo) As ValidationResult
- For Each character In System.IO.Path.GetInvalidFileNameChars
- If value.ToString.Contains(character) Then
- Return New ValidationResult(False, "Der Dateiname enthält mindestens ein ungültiges Zeichen.")
- End If
- Next
- End Function
- End Class
Die Inhalte der Textboxen will ich validieren, so dass der User keine ungültigen Dateinamenzeichen eingeben kann.
Funktioniert auch soweit ganz gut, bei einem ungültigen Zeichen werden die Textboxen rot umrandet, aber erst wenn der Benutzer händisch was ändert. Wenn jedoch beim initialisieren des modalen Dialogs mit dem DataGrid drin schon unerwünschte Zeichen drin sind (in
TitelListe.GenFN
), dann werden die Textboxen nicht rot umrandet.Gibt es eine Möglichkeit, die Validation Rules zu forcieren oder hat jemand eine Idee, wie ich dem zu Leibe rücken kann?
Freu mich auf Eure Antworten