问题
I am confused on how to retrieve multi selected values from listbox in wpf.
In XAML I have the following listbox with selection mode multiple.
<ListBox Height="100" HorizontalAlignment="Left" Margin="139,207,0,0" Name="listBox1" VerticalAlignment="Top" Width="120" SelectionChanged="listBox1_SelectionChanged" SelectionMode="Multiple" />
<Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="319,220,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
How do I check in foreach loop now?
foreach (ListItem li in listBox1.Items)
{
?? // how to check li is selected or not
}
回答1:
You will find them in ListBox.SelectedItems.
foreach (var item in listBox1.SelectedItems)
{
}
回答2:
another example
int j = 0;
for (int i = 0; i < lbItems.Items.Count; i++)
{
if (lbItems.Items[i] == lbItems.SelectedItems[0])
j++;
}
MessageBox.Show(lbItems.Items.IndexOf(lbItems.SelectedItems[0]).ToString()
+ string.Format("\r\nThere are {0} occurences of this object in this list",j) )
来源:https://stackoverflow.com/questions/19123305/how-to-get-multiple-selected-items-in-listbox-wpf