我希望我的标题不会太误导,但这里有一个快速的解释。正如我在使用 WPF 的标题中提到的,我将 Listbox 的 Itemsources 设置为 ObservableCollection。我还为它制作了一个 DataTemplate 以正确显示值。但是我的问题是,当我更改 ObservableCollection 中的值时,它不会显示在列表框中。现在的问题是,我做错了什么?
继承人的代码:
public ObservableCollection<Employee> employees;
employees = DatabaseControl.GetEmployees();
Employee_ComboBox.ItemsSource = employees;
然后即时切换出整个集合:
private void save_Employee_Click(object sender, RoutedEventArgs e)
{
deactivateEmployee();
if (isnewEmployee)
{
DatabaseControl.AddEmployee(employee_firstName.Text, employee_lastName.Text, employee_phoneNumber.Text, employee_city.Text, employee_address.Text);
isnewEmployee = false;
}
if (updateEmployee)
{
DatabaseControl.UpdateEmployee(((Employee)Employee_ComboBox.SelectedItem).ID, employee_firstName.Text, employee_lastName.Text, employee_phoneNumber.Text, employee_city.Text, employee_address.Text);
updateEmployee = false;
}
employees = DatabaseControl.GetEmployees();
Employee_ComboBox.ItemsSource = employees;
}
但这似乎并没有达到应有的效果。那么我在这里做错了什么?GetEmpoyees() 顺便返回一个 ObservableCollection。