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>
BirthdayConverter – WPF Quicky
Markiert in: