总之,我正在开发一个WPF应用程序。在这个应用程序中,我使用了数据网格,它绑定到了一个Icollection客户集合。我使用的是MVVM。
我有一个按钮添加一个新的客户,显示一个对话框,通过点击它。通过该对话框我保存数据到我的SQL Server数据库。一切正常,但当对话框关闭(CloseAction();)。Datagrid没有更新。我该怎么办?当我回到任何其他菜单项并单击back on customer时,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();
}
1条答案
按热度按时间csga3l581#
我只是猜测,因为您没有发布任何xaml或属性。我假设您至少有一个公共属性CustomerCollection,并且您的datagrid绑定到它。我将代码更改为以下内容:
克萨姆勒