/ / Pobieranie ListBoxItems do zachowania się jak przyciski opcji - c #, silverlight, windows-phone-7

Uzyskiwanie elementów ListBox jako zachowujących się jak przyciski radiowe - c #, silverlight, windows-phone-7

Mam ToggleButton wewnątrz ListBox, a po kliknięciu tego przycisku chcę, aby każdy inny element w ListBox był niezaznaczony.

obecnie próbuję tego

    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;
}

ale otrzymuję nieprawidłowy wyjątek rzutowania.

Myślałem, że aListBox.Items [i] zwróci obiekt ListBoxItem.

Odpowiedzi:

2 dla odpowiedzi № 1

Użyć DataTemplate

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

</ListBox>

Od wszystkiego RadioButtons będą mieć to samo GroupName, tylko jeden zostanie sprawdzony w dowolnym momencie.