我有一个日期选择器,具有以下绑定。
<Controls:DatePicker SelectedDate="{Binding Person.BirthDate, Mode=TwoWay}" />
<Button Content="Clear" Command="{Binding ClearDateOperation}" />
这是“人”类:
public class Person
{
public DateTime? BirthDate { get; set; }
}
BirthDate的初始值为null。 我想修复的问题可以通过这种方式重现:
这是ClearDateOperation的实现
ClearDateCommand = new DelegateCommand(ClearDate);
private void ClearDate()
{
Person.BirthDate = null;
}
有什么想法吗?提前谢谢。
PS。我使用silverlight 4,.NET 4,VS 2010 PS。您可以使用此链接下载一个包含该问题的简单示例。 Silverlight app
答案 0 :(得分:0)
看起来你需要实现INotifyPropertyChanged:
public class Person : INotifyPropertyChanged
{
private DateTime? m_BirthDate;
public DateTime? BirthDate
{
get { return m_BirthDate;}
set
{
m_BirthDate = value;
this.OnPropertyChanged("BirthDate");
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
if (this.PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
答案 1 :(得分:0)
Person.BirthDate = DateTime.MinDate
或类似的东西