using ListBoxBindingSample.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace ListBoxBindingSample
{
///
/// Interaction logic for MainWindow.xaml
///
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
InitInstance();
}
private void InitInstance()
{
List students = new List();
students.Add(new Student() { Name = "Carl", Age = 23, Point = 100 });
students.Add(new Student() { Name = "Jackson", Age = 35, Point = 80 });
students.Add(new Student() { Name = "Philip", Age = 26, Point = 73 });
students.Add(new Student() { Name = "Sarah", Age = 43, Point = 95 });
lstMain.ItemsSource = students;
}
private void lstMain_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (lstMain.SelectedItem == null)
return;
tbxDisplay.Text = $"Selected student: {((Student)lstMain.SelectedItem).Name}";
}
private void btnSelected_Click(object sender, RoutedEventArgs e)
{
if (lstMain.SelectedItem == null)
{
MessageBox.Show("Please select a student.");
return;
}
tbxDisplay.Text = $"Selected student: {((Student)lstMain.SelectedItem).Name}";
}
private void btnPrevStudent_Click(object sender, RoutedEventArgs e)
{
if (lstMain.SelectedItem == null)
return;
int index = lstMain.SelectedIndex - 1;
if (index < 0)
index = lstMain.Items.Count - 1;
lstMain.SelectedIndex = index;
}
private void btnNextStudent_Click(object sender, RoutedEventArgs e)
{
if (lstMain.SelectedItem == null)
return;
int index = lstMain.SelectedIndex + 1;
if (index >= lstMain.Items.Count)
index = 0;
lstMain.SelectedIndex = index;
}
private void btnAll_Click(object sender, RoutedEventArgs e)
{
lstMain.SelectAll();
tbxDisplay.Clear();
foreach (Student item in lstMain.SelectedItems)
{
tbxDisplay.Text += $"Selected student: {item.Name}{Environment.NewLine}";
}
}
}
}