【发布时间】:2023-01-09 21:27:15
【问题描述】:
总而言之,我正在开发 WPF 应用程序。我在其中使用数据网格并将其绑定到 Icollection 客户集合。我正在使用 MVVM。
我有一个按钮来添加一个新客户,单击它会显示一个对话框。通过该对话框,我将数据保存到我的 SQL 服务器数据库中。一切正常,但是当对话框关闭时( CloseAction(); )。数据网格不更新。我应该怎么办?当我返回到任何其他菜单项并单击客户时,Datagrid 会更新,同时我在构造函数和命令执行中调用相同的函数。 附上图片供参考 任何解决方案将不胜感激。
public CustomerViewModel()
{
ShowNewCustomerWindowCommand = new ViewModelCommand(ExecuteShowNewCustomerWindowCommand);
SearchCustomerCommand = new ViewModelCommand(ExecuteSearchCustomerCommand);
GetData();
}
protected void GetData()
{
customer = new ObservableCollection<CustomerModel>();
customer = customerRepository.GetByAll();
customerCollection = CollectionViewSource.GetDefaultView(customer);
customerCollection.Filter = FilterByName;
customerCollection.Refresh();
RaiseProperChanged();
}
private void ExecuteShowNewCustomerWindowCommand(object obj)
{
var addNewCustomer = new AddNewCustomer();
addNewCustomer.ShowDialog();
}
private void ExecuteSaveCustomerCommand(object obj)
{
customerModel.FirstName = FirstName;
customerModel.LastName = LastName;
customerModel.Contact = Contact;
customerModel.Address = Address;
customerRepository.Add(customerModel);
CloseAction();
GetData();
}
【问题讨论】:
标签: c# wpf mvvm observablecollection