2011-01-18 16 views
0

私はループスルーした文字列のリストを持っていて、それをアコーディオンに追加します。私がそれらのすべてを追加したら、最後のアイテムを展開したい。コードは次のようになります。Silverlightでのアコーディオンの問題

for (int i = 0; i < ivDialogList.Count; i++) 
     { 
      AccordionItem ai = new AccordionItem(); 
      ai.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; 
      ai.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Stretch; 
      ai.Content = ivDialogList[i].Message; 
      ai.Header = ivDialogList[i].PostType + " " + ivDialogList[i].User + " " + ivDialogList[i].PostDate; 

      if (i == ivDialogList.Count - 1) 
       ai.IsSelected = true; 

      content.Items.Add(ai); 

     } 

これは正常に動作している、しかし、すぐに私は他のアコーディオンの項目のいずれかをクリックするか、最後の1を閉じると、私は範囲の例外のうちを取得します。どんな身体にもこれを行う別の方法がありますか、私が例外を得て助けることができる理由を知っていますか? ありがとう

+0

どのラインで例外がありますか? – ChrisF

答えて

0

私は問題を解決することができました。問題はループのどこかにあり、おそらく自分のコードに固有のものだと思います。ループが行われた後、それはこのように、設定されますので、ループ内の一部アウト

if (i == ivDialogList.Count - 1) 
      ai.IsSelected = true; 

((AccordionItem)content.Items[ivDialogList.Count - 1]).IsSelected = true; 

そして、それはそれはAのように働かせた私がやったことは、私が移動したことでしたチャーム。

0

これは "Lore Ipsum .."のテキスト、ツールキットAccordion、そしてたくさんのAccordionItemsを使用していて問題なく動作します。ここに表示されていないコードに問題があるはずです。スタックトレースとXAMLを投稿できますか?

関連する問題