Laden...

WPF MVVM letters only textbox

Erstellt von gurke04 vor 2 Jahren Letzter Beitrag vor 2 Jahren 598 Views
G
gurke04 Themenstarter:in
1 Beiträge seit 2022
vor 2 Jahren
WPF MVVM letters only textbox

Hallo zusammen,

ich mache aktuell die Ausbildung und bin grade dabei mir ein bisschen C# - WPF beizubringen.

Ich habe nur um das ganze mal zu veranschaulichen zum Beispiel eine Textbox, diese ist gebindet an ein Model. In die Textbox soll der Vorname rein kommen, daher möchte ich
das keine Zahlen akzeptiert werden bzw. garnicht erst möglich ist einzutippen.

Mein aktueller Lösungsansatz:

XAML:


  <TextBox x:Name="VornameTextBox" PreviewTextInput="OnlyText"  Grid.Row="1" Grid.Column="1" VerticalAlignment="Center"
 HorizontalAlignment="Left" Width="80" Height="40" Text="{Binding Data.Vorname, UpdateSourceTrigger=PropertyChanged}" />

im Code-Behind:


public void OnlyText(object sender, TextCompositionEventArgs e)
        {
            Regex regex = new Regex("^[a-zA-Z]+$");
            e.Handled = !regex.IsMatch(e.Text);
        }

Das funktioniert soweit auch gut, da mir aber angeraten wurde mich mit dem MVVM Pattern vertraut zu machen, habe ich mir die Frage gestellt wie man die selbe Funktion mit MVVM umsetzen könnte. Es muss nicht 1 zu 1 genau sein, es reicht ja auch wenn beispeilsweise eine Meldung kommt, in der es dann sowas wie "Keine Zahlen möglich'" heißt.

Könntet ihr mir bitte weiterhelfen.

Hinweis von Abt vor 2 Jahren

Bitte Code in Zukunft selbst in Tags packen, niemand hat Lust Plaintext zu lesen
[Hinweis] Wie poste ich richtig?

16.842 Beiträge seit 2008
vor 2 Jahren

Siehe Commands bzw. Trigger in [Artikel] MVVM und DataBinding
Hier vermutlich eher ein Trigger.

Input Validation in WPF macht man aber eh anders, siehe Gewusst wie: Implementieren der Bindungsvalidierung - WPF .NET Framework