2012-05-10 91 views
0

我正在使用Windows Phone 7平臺。禁用Windows Phone 7中的列表框項目?

我在一個Listbox中顯示了一年的月亮。

現在我想在列表框中只啓用當前月份,以前的所有月份都應該禁用。以下是在listobx中填充一年的幾個月的代碼。

Listboxobject.ItemsSource = globalobject.Getmonths;

公開名單Getmonths

 monthlist.Add("January"); 
     monthlist.Add("February"); 
     monthlist.Add("March"); 
     monthlist.Add("April"); 
     monthlist.Add("May"); 
     monthlist.Add("June"); 
     monthlist.Add("July"); 
     monthlist.Add("August"); 
     monthlist.Add("September"); 
     monthlist.Add("October"); 
     monthlist.Add("November"); 
     monthlist.Add("December"); 
     return monthlist; 
+0

你的代碼在哪裏? –

+0

對不起。剛編輯我的問題。 – phanish

+0

嘗試使用日期查找方法獲取當前月份。如果月份是5月,那麼可以在列表框中獲取May的索引,並在循環中添加list.items.removeat(0)4次 –

回答

0

這就是你必須做的。請注意,我沒有設置ItemSource,只是逐個添加ListBoxItems。如果你想讓項目禁用功能,添加ListBoxItems而不是字符串是很重要的。如果您有任何問題,我可以向您發送解決方案。

 DateTime dt = DateTime.Today; 
     DateTime dt2 = new DateTime(); 

     for (int i = 0; i < 12; i++) { 
      string mname = dt2.ToString("MMMM"); 
      ListBoxItem LBI = new ListBoxItem(); 
      LBI.Content = mname; 
      if (dt.Month > dt2.Month) 
       LBI.IsEnabled = false; 
      Listboxobject.Items.Add(LBI); 
      dt2 = dt2.AddMonths(1); 
     } 
+0

...謝謝.....它工作....還有一個問題。 ..我也需要獲得本月selecetd在列表框中的今天日期。 – phanish

+0

在Listbox中選擇一個月後,還希望限制選擇月份中的日期小於Todays日期。 – phanish

+1

只需完全相同的邏輯,但是在所有月份中都有不同的日計數問題。你可以使用C#內置的日期計數器來解決它:DateTime.DaysInMonth((int)year,(int)month);請注意,您必須指定年份以使其在閏年內運行。 –

0

對於每個項目在listbos即每個ListBoxItem的,它已得到了一個名爲IsEnabled屬性。它是一種布爾的特性。您可以將其設置爲false以禁用它。

相關問題