WPF C# Tutorial

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="WPF IDataErrorInfo Sample" Width="350" Height="150"
        xmlns:src="clr-namespace:WpfApplication1">
    
    
        
        
            
                
                                                Value="{Binding RelativeSource={x:Static RelativeSource.Self},
                        Path=(Validation.Errors)[0].ErrorContent}"/>
                
            

        
    

    
        
            
                                         ValidatesOnExceptions="True"
                         UpdateSourceTrigger="PropertyChanged">
                    
                        
                    

                
            

        
    

//File:Window.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.ComponentModel;
namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }
    }
    public class Employee : IDataErrorInfo
    {
        private int age;
        public int Age
        {
            get { return age; }
            set { age = value; }
        }
        public string Error
        {
            get
            {
                return null;
            }
        }
        public string this[string name]
        {
            get
            {
                string result = null;
                if (name == "Age")
                {
                    if (this.age < 0 || this.age > 50)
                    {
                        result = "Age must not be less than 0 or greater than 50.";
                    }
                }
                return result;
            }
        }
    }
}