繁体   English   中英

c#WPF DatePicker到标签绑定,以获取人员年龄

[英]c# WPF DatePicker to Label Binding, to get a persons age

我的工作是将XAML中的标签Content绑定到DatePicker(这是一个人的出生日期)以获取年龄。 例如:日期选择器:2000.1.1标签:16.我该怎么做?

编辑

当DatePicker更改时,标签需要立即更改。

使用IValueConverter实现绑定标签,例如:

class BirthdateToAgeConverter : IValueConverter
{
    public object Convert
        (
        object value,
        Type targetType,
        object parameter,
        string language)
    {
        var birthdate = ((DateTime) value).Date;
        var age = DateTime.Today.Year - birthdate.Year;

        if (birthdate > DateTime.Today.AddYears(-age))
        {
            age--;
        }
        return age;
    }

    public object ConvertBack
        (
        object value,
        Type targetType,
        object parameter,
        string language)
    {
        throw new NotImplementedException();
    }
}

编辑:如果直接绑定到DatePicker,则需要在XAML中定义绑定路径。 您还可以在ViewModel上绑定到SzuletesiDatum。

<Label Content="{Binding ElementName=dtPicker, Path=SelectedDate ,Converter={StaticResource DTKC}}" 
       HorizontalAlignment="Left" Margin="356,94,0,0" 
       VerticalAlignment="Top"/> 
<DatePicker x:Name="dtPicker" 
            SelectedDate="{Binding SzuletesiDatum}" 
            HorizontalAlignment="Left" 
            Margin="112,94,0,0" 
            VerticalAlignment="Top"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM