ListBox控件
ListBox控件
列表框
Selector 条目控件(ItemsControl)
其中包含可选择的项的列表
两个ListBox中的项相互移动,不太适合指定ItemsSource,Items.Add方式添加项,可以灵活的添加或移除
<ListBox Name="lbClass" SelectionChanged="lbClass_SelectionChanged" ItemsSource="{Binding}" SelectionMode="Multiple"
HorizontalAlignment="Left" Height="222" Margin="122,100,0,0" VerticalAlignment="Top" Width="274" Grid.ColumnSpan="2"/>
private List<ClassInfo> GetClassInfos()
{
List<ClassInfo> list = new List<ClassInfo>();
list.AddRange(new ClassInfo[]
{
new ClassInfo()
{
ClassId=1,
ClassName="计算机一班"
},
new ClassInfo()
{
ClassId=2,
ClassName="计算机二班"
},
new ClassInfo()
{
ClassId=3,
ClassName="商务英语一班"
},
new ClassInfo()
{
ClassId=3,
ClassName="商务英语二班"
}
});
return list;
}
public class ClassInfo
{
public int ClassId { get; set; }
public string ClassName { get; set; }
}
private void lbClass_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//选择项类型 由绑定或添加时数据的类型决定
MessageBox.Show(lbClass.SelectedItem.ToString());//字符串 int
//实体类型
//ClassInfo selItem = lbClass.SelectedItem as ClassInfo;
}
private void Window_Loaded_1(object sender, RoutedEventArgs e)
{
方式一:绑定数据源
//lbClass.ItemsSource = GetClassInfos();
//lbClass.DisplayMemberPath = "ClassName";
//lbClass.SelectedValuePath = "ClassId";
//lbClass.SelectedIndex = 0;
方式二:动态添加Item项
//lbClass.Items.Add(111);
//lbClass.Items.Add("aaa");
//方式三:ItemSource绑定数据
lbClass.DataContext= GetClassInfos();
lbClass.DisplayMemberPath = "ClassName";
lbClass.SelectedValuePath = "ClassId";
}