WPF学生管理系统:使用面向对象和数据绑定实现增删功能
本教程将引导您使用WPF开发一个简单的学生管理系统,涵盖面向对象编程、数据绑定、ListBox控件等内容,并实现学生信息的增加和删除功能。
首先,我们需要创建一个新的WPF应用程序项目。然后我们需要创建一个名为'Student'的类来表示学生的信息,它应该包含学生的名称、年龄和学号等属性。
class Student
{
public string Name { get; set; }
public int Age { get; set; }
public string StudentID { get; set; }
}
接下来,我们需要在主窗口中创建一个listbox控件,用于显示学生信息。我们需要将listbox的ItemsSource属性绑定到一个名为'Students'的ObservableCollection
<ListBox Name="studentsListBox" ItemsSource="{Binding Students}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" Margin="5"/>
<TextBlock Text="{Binding Age}" Margin="5"/>
<TextBlock Text="{Binding StudentID}" Margin="5"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我们还需要在主窗口的构造函数中初始化Students集合并将其设置为数据上下文。
public MainWindow()
{
InitializeComponent();
Students = new ObservableCollection<Student>();
DataContext = this;
}
现在我们需要添加一些按钮来增加和删除学生信息。我们可以使用命令来实现这些按钮的功能。首先,我们需要创建一个名为'AddStudentCommand'的命令,并在主窗口的构造函数中将其初始化。
public ICommand AddStudentCommand { get; set; }
public MainWindow()
{
InitializeComponent();
Students = new ObservableCollection<Student>();
AddStudentCommand = new RelayCommand(AddStudent);
DataContext = this;
}
接下来,我们需要在AddStudent方法中创建一个新的Student对象,并将其添加到Students集合中。
private void AddStudent()
{
var newStudent = new Student()
{
Name = "New Student",
Age = 0,
StudentID = Guid.NewGuid().ToString()
};
Students.Add(newStudent);
}
我们还需要在XAML中添加一个按钮,并将其Command属性绑定到AddStudentCommand命令。
<Button Content="Add Student" Command="{Binding AddStudentCommand}"/>
现在我们已经添加了增加学生信息的功能,接下来我们需要添加删除学生信息的功能。我们可以使用命令参数来获取要删除的学生对象,并从Students集合中删除它。我们需要创建一个名为'DeleteStudentCommand'的命令,并在主窗口的构造函数中将其初始化。
public ICommand DeleteStudentCommand { get; set; }
public MainWindow()
{
InitializeComponent();
Students = new ObservableCollection<Student>();
AddStudentCommand = new RelayCommand(AddStudent);
DeleteStudentCommand = new RelayCommand<Student>(DeleteStudent);
DataContext = this;
}
我们还需要在DeleteStudent方法中删除指定的学生对象。
private void DeleteStudent(Student student)
{
Students.Remove(student);
}
最后,我们需要在XAML中添加一个按钮,并将其Command属性绑定到DeleteStudentCommand命令,并使用CommandParameter属性绑定要删除的学生对象。
<Button Content="Delete Student"
Command="{Binding DeleteStudentCommand}"
CommandParameter="{Binding ElementName=studentsListBox, Path=SelectedItem}"/>
现在我们已经实现了一个简单的学生管理系统,您可以使用它来增加和删除学生信息。感谢您阅读这篇教程,希望对您有所帮助!
原文地址: https://www.cveoy.top/t/topic/lK7k 著作权归作者所有。请勿转载和采集!