2013-11-28 94 views
-2

按月日期下面的代碼顯示安排在特定日期在我的Windows Phone 7應用程序獲得在C#中的Windows Phone 7

private void DisplayAppointmentsForDate(DateTime date) 
{ 

    appointmentsSource.FetchData(date, date.AddDays(1)); 
    this.AppointmentsList.ItemsSource = appointmentsSource.GetAppointments((IAppointment appointment) => 
    { 
     DateTime currentAppointmentStart = appointment.StartDate; 
     DateTime currentAppointmentEnd = appointment.EndDate; 
     DateTime requiredAppointmentsStartDate = date.Date; 
     DateTime requiredAppointmentsEndDate = date.Date.AddDays(1); 


     if (requiredAppointmentsEndDate > currentAppointmentStart && requiredAppointmentsStartDate < currentAppointmentEnd) 
     { 
      return true; 
     } 

     return false; 
    }); 
} 

private void RadCalendar_SelectedValueChanged(object sender, ValueChangedEventArgs<object> e) 
{ 
    if (e.NewValue == null) 
    { 
     this.AppointmentsList.ItemsSource = null; 
     return; 
    } 
    DisplayAppointmentsForDate((e.NewValue as DateTime?).Value); 
} 

約會列表但這顯示安排在特定日期的約會。例如。如果日曆上選擇了2013年9月23日,則該列表將顯示當天的所有約會。

我想改變這個,以便列表顯示特定月份的所有約會。例如。如果日曆在2013年7月份,則該列表應顯示該月的所有約會。

開始日期和結束日期都設置爲DateTime類型,其值爲23/09/2013 12:01 PM,這就是它用於獲取應用程序列表的方式。我試過使用appointmentsSource.FetchData(date.Month, date.AddDays(1));,但它不起作用。

我該怎麼做?

+0

那麼你嘗試了什麼? –

+1

你已經試過了什麼?特別是,只要你給出了一個月的開始和下個月的開始,你的'FetchData'調用看起來就像你所需要的一樣。 –

回答

0

我假設方法FetchData採用「開始日期」參數和「結束日期參數」,在這種情況下,您只需要獲取當前月份的第一個日期和當前的最後日期一個月

 var currentDate = DateTime.Now; // Or whatever date you want to displa 
     var startDate = new DateTime(currentDate.Year, currentDate.Month, 1); 
     var endDate = new DateTime(currentDate.Year, currentDate.Month, DateTime.DaysInMonth(currentDate.Year, currentDate.Month)); 

     appointmentsSource.FetchData(startDate, endDate); 

如果您FetchData需要一個月參數和天數,然後

appointmentsSource.FetchData(currentDate.Month, DateTime.DaysInMonth(currentDate.Year, currentDate.Month)); 

我們真的需要看到「FetchData」的方法,能夠爲您提供一個明確的答案