选择项目列表框c#
本文关键字:列表 项目 选择 | 更新日期: 2023-09-27 18:24:09
我试图使用C#使用switch语句在列表框中选择一个项目,但什么也没发生:
这是我当前的代码:
XAML
<ListBox x:Name="test" (XAML OMITED) SelectionChanged="test_SelectionChanged">
<ListBoxItem Content="name 1" />
c#
private void test_SelectionChanged(object sender, System.EventArgs e)
{
switch (test.SelectedItem.ToString())
{
case "name 1":
MessageBox.Show("X");
break;
case "name 2":
MessageBox.Show("X");
break;
default:
break;
}
感谢
listbox是sender对象,所以你可以这样访问它。你只需要将sender强制转换为listbox,然后你选择的项目是listbox项目,这样你就可以强制转换它,然后你就可以访问内容值。此外,当我创建selectionchanged事件处理程序时,它接受SelectionChangedEventArgs e,而不是System.EventArgs,SelectionChangedPEventArgs位于System.Windows.Controls命名空间中,该命名空间应该已经通过using语句导入到您的类中。
var mySender = (ListBox)sender;
swtich(((ListBoxItem)mySender.SelectedItem).Content.ToString()){
case "name 1":
MessageBox.Show("X");
break;
case "name 2":
MessageBox.Show("X");
break;
default:
break;
}
private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
foreach (var selectedItem in e.AddedItems)
{
switch ((selectedItem as ListBoxItem).Content.ToString())
{
case "name 1":
MessageBox.Show("X");
break;
case "name 2":
MessageBox.Show("y");
break;
default:
break;
}
}
}