2012-01-31 66 views
0

我有一個具有以下綁定的日期選擇器。如何通過與SelectedDate綁定來清除DatePicker

<Controls:DatePicker SelectedDate="{Binding Person.BirthDate, Mode=TwoWay}" /> 
<Button Content="Clear" Command="{Binding ClearDateOperation}" /> 

這是類 「人員」:

public class Person 
{ 
    public DateTime? BirthDate { get; set; } 
} 

出生日期的初始值是零。 我想解決這個問題可以重現這樣:

  1. 用戶進入「cvgdfgfg」的日期選擇器
  2. 點擊「清除」按鈕。
  3. 此後不清除datePicker。

這是ClearDateOperation

ClearDateCommand = new DelegateCommand(ClearDate); 

private void ClearDate() 
     { 
      Person.BirthDate = null; 
     } 

任何想法的實現?提前致謝。

ps。我使用silverlight 4,.NET 4,VS 2010 ps。你可以使用這個鏈接下載一個簡單的例子。 Silverlight app

回答

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)); 
    } 
} 
+0

感謝您的答覆。我做的。但問題並沒有消失。 – user1011719 2012-01-31 16:16:50

+0

你可以嘗試改變你的datepicker綁定到文本,而不是選定日期的xaml? – emybob 2012-01-31 16:21:35

+0

我可以但它不會帶來任何利潤。我試過了。 – user1011719 2012-01-31 16:46:08

0
Person.BirthDate = DateTime.MinDate 

或財產以後這樣的