1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| // La "vraie" date
private DateTime _date;
public DateTime Date
{
get { return _date;}
set
{
if (value != _date)
{
_date = value;
OnPropertyChanged("Date");
}
}
}
// Le jour (sans l'heure), bindé au DatePicker
public DateTime DateWithoutTime
{
get { return _date.Date;}
set { Date = MakeDate(value, _date.Hour, _date.Minute); }
}
// Les heures, bindées à un TextBox
public int Hours
{
get { return _date.Hour;}
set { Date = MakeDate(_date, value, _date.Minute); }
}
// Les minutes, bindées à un TextBox
public int Minutes
{
get { return _date.Minute;}
set { Date = MakeDate(_date, _date.Hour, value); }
}
private static DateTime MakeDate(DateTime date, int hours, int minutes)
{
return date.Date.AddHours(hours).AddMinutes(minutes);
} |