Ein BirthdayConverter, der nach Eingabe einer Jahreszahl das entsprechende Geburtsalter zurückgibt:
Die Converter-Klasse ConvertBirthday prüft lediglich auf 4 Zahlen, ob die nun vor oder nach dem heutigen Datum liegen müsste dementsprechend noch angepasst werden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | using System; using System.Text.RegularExpressions; using System.Windows.Data; namespace ConvertBirthday.Converters { public class DateTimeToAgeConverter : IValueConverter { #region IValueConverter Members public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { return Regex.IsMatch(value.ToString(), @"^\d{4}$") ? (object)(DateTime.Now.Year - int.Parse(value.ToString())) : String.Empty; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { return value; } #endregion } } |
im XAML:
1 2 3 | <Window.Resources> <Converters:DateTimeToAgeConverter x:Key="ConvertDateToAge" /> </Window.Resources> |
1 2 3 4 | <StackPanel> <TextBox Width="100" Name="txtBoxGetBirthday" /> <TextBlock HorizontalAlignment="Center" FontSize="50" Foreground="Orange" Text="{Binding Text, ElementName=txtBoxGetBirthday, Mode=OneWay, Converter={StaticResource ConvertDateToAge}}" /> </StackPanel> |







