2012-05-10 13 views
0

私はWindows Phone 7プラットフォームで作業しています。Windows Phone 7のリストボックス項目を無効にしますか?

私はリストボックスに1年の月を表示しています。

今、私はリストボックスで今月のみ有効にしたい、前のすべての月は無効にする必要があります。以下は、listobxで年月を設定するコードです。

Listboxobject.ItemsSource = globalobject.Getmonths;

公共一覧Getmonthsすなわちあなたlistbos内の各アイテムの

 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月の場合はlistbox.andで5月のインデックスを取得し、ループでlist.items.removeat(0)を4回追加してください –

答えて

0

あなたがしなければならないことは次のとおりです。 ListBoxItemsを1つずつ追加するだけで、ItemSourceを設定していないことに注意してください。アイテムを無効にする機能を使用する場合は、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

...ありがとうございました。 ..リストボックスに月選択の今日の日付を取得する必要もあります。 – phanish

+0

リストボックスで月が選択されると、選択した月の今日の日付よりも小さい日付を選択することを制限します。 – phanish

+1

まったく同じロジックを実行しますが、すべての月で異なる日数の問題があります。 C#で作成した日カウンタを使用して解決できます。DateTime.DaysInMonth((int)year、(int)month);うるう年の年を指定する必要があることに注意してください。 –

0

は、各listboxitemのために、それはでIsEnabledというプロパティを持っています。そのbool proprty。無効にする場合はfalseに設定できます。