2011-08-03 9 views
1

私はListBox内にToggleButtonを持っています。そのボタンをクリックすると、ListBox内の他のすべての項目をチェックしないようにします。ListBoxItemsがラジオボタンのように動作するようにする

私は現在、この

private void ToggleButton_Click(object sender, RoutedEventArgs e) 
    { 
     spriteToggleButton _tb = sender as ToggleButton; 

     for (int i = 0; i < aListBox.Items.Count; i++) 
     { 
      ListBoxItem lbi = (ListBoxItem)aListBox.Items[i]; // invalid cast exception here 
      lbi.IsSelected = false; 
     } 

     _tb.IsChecked = true; 
    } 

をしようとしているが、私は、無効なキャスト例外を取得しています。

私はaListBox.Items [i]がListBoxItemオブジェクトを返すと思っていました。

答えて

2

すべてRadioButton sが同じGroupNameを持つことになりますのでDataTemplate

<ListBox ItemsSource="{Binding Items}"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <RadioButton IsChecked="{Binding SomeProperty}" GroupName="someName" /> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 

</ListBox> 

を使用し、一つだけはいつでもチェックされます。

+0

私はラジオボタンの代わりにトグルボタンを使用しています。多分私はそれに変更する必要があります。 –

+1

ボタンのように見えるテンプレートでRadioButtonを使うことができます... –

関連する問題