2021-08-14 WPF控件专题 ListBox控件详解

超、凢脫俗 2022-09-04 13:48 394阅读 0赞

在这里插入图片描述

1.ListBox控件介绍

其中包含可选择的项的列表

手动添加项

绑定数据源

两个ListBox中的项相互移动,不太适合指定ItemsSource,Items.Add方式添加项,可以灵活的添加或移除

2.具体案例

  1. <Grid>
  2. <ListBox Name="lbClasses" SelectionMode="Multiple" ItemsSource="{Binding}" HorizontalAlignment="Left" Height="253" Margin="136,63,0,0" VerticalAlignment="Top" Width="263" SelectionChanged="LbClasses_SelectionChanged">
  3. <!--<ListBoxItem Content="软件班" IsSelected="True" ></ListBoxItem>
  4. <ListBoxItem Content="数据班" ></ListBoxItem>
  5. <ListBoxItem Content="英语班" ></ListBoxItem>-->
  6. </ListBox>
  7. </Grid>
  8. private void Window_Loaded(object sender, RoutedEventArgs e)
  9. {
  10. //绑定数据源
  11. // lbClasses.ItemsSource = GetClassInfos();
  12. lbClasses.DataContext = GetClassInfos();
  13. lbClasses.DisplayMemberPath = "ClassName";
  14. lbClasses.SelectedValuePath = "ClassId";
  15. lbClasses.SelectedIndex = 0;
  16. //如果要动态添加、移除项,情况与ComboBox
  17. //lbClasses.Items.Add(11);
  18. //lbClasses.Items.Add("aaaa");
  19. }
  20. private List<ClassInfo> GetClassInfos()
  21. {
  22. List<ClassInfo> list = new List<ClassInfo>();
  23. list.AddRange(new ClassInfo[]
  24. {
  25. new ClassInfo()
  26. {
  27. ClassId=1,
  28. ClassName="计算机一班"
  29. },
  30. new ClassInfo()
  31. {
  32. ClassId=2,
  33. ClassName="计算机二班"
  34. },
  35. new ClassInfo()
  36. {
  37. ClassId=3,
  38. ClassName="商务英语一班"
  39. },
  40. new ClassInfo()
  41. {
  42. ClassId=3,
  43. ClassName="商务英语二班"
  44. }
  45. });
  46. return list;
  47. }
  48. private void LbClasses_SelectionChanged(object sender, SelectionChangedEventArgs e)
  49. {
  50. //选择项类型 由绑定或添加时数据的类型决定
  51. // MessageBox.Show(lbClasses.SelectedItem.ToString());//字符串 int
  52. //实体类型
  53. ClassInfo selItem = lbClasses.SelectedItem as ClassInfo;
  54. }

发表评论

表情:
评论列表 (有 0 条评论,394人围观)

还没有评论,来说两句吧...

相关阅读