C# WPF very simple TextBox Validation
c#, textbox, validation, wpf, xaml
Solution
TextBox is supposed to be bound to property `Alter`. For binding to work you need to set DataContext - an object with `Alter` property, e.g.
public class Test
{
public string Alter { get; set; }
}
and
public MainWindow()
{
InitializeComponent();
DataContext = new Test();
}
then if you enter negative number, there will be red border around TextBox
Problem
i'm a total Beginner at C#.... I'd like to create a very simple Validation for a TextBox. Here is my Code so far: MainWindow.xaml.cs ``` namespace Mynamespace { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void TextBox_TextChanged_2(object sender, TextChangedEventArgs e) { } } public class AgeValidationRule : ValidationRule { public override ValidationResult Validate(object value, CultureInfo cultureInfo) { int wert = Convert.ToInt32(value); if (wert < 0) return new ValidationResult(false, "just positiv values allowed"); return new ValidationResult(true, null); } } } ``` MainWindow.xaml ``` <Window x:Class="Mynamespace.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:Mynamespace" Title="MainWindow" Height="350" Width="525"> <Window.Resources> </Window.Resources> <Grid> <TextBox HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Margin="167,107,0,0" TextChanged="TextBox_TextChanged_2"> <Binding Path="Alter" UpdateSourceTrigger="PropertyChanged"> <Binding.ValidationRules> <local:AgeValidationRule /> </Binding.ValidationRules> </Binding> </TextBox> </Grid> ``` no errors, but it doesn't work... am i missing something?