c# WPF日期picker标签绑定,以获得一个人的年龄
本文关键字:一个人的年 绑定 WPF 日期 picker 标签 | 更新日期: 2023-09-27 18:14:15
我的工作是将XAML中的标签内容绑定到DatePicker, 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();
}
}
编辑:在XAML中,如果直接绑定到DatePicker,则需要定义绑定路径。你也可以在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"/>