我在ListBox中有一个ToggleButton,当单击该按钮时,我希望取消选中ListBox中的其他所有项目。
我正在尝试这个
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对象。
答案 0 :(得分:2)
使用DataTemplate
<ListBox ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<RadioButton IsChecked="{Binding SomeProperty}" GroupName="someName" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
由于所有RadioButton
都具有相同的GroupName
,因此任何时候都只会检查一个{。}}。