为了澄清我的问题,我想描述一下我的申请:
查看:
及其查看模型:
我已经学会了如何通过MVVM模式中的Button of Button来更改视图
用于将视图从EditEmployeeView更改为MainView的VMApplication代码:
private ICommand saveEditingEmployeeCommand;
public ICommand SaveEditingEmployeeCommand
{
get
{
if (saveEditingEmployeeCommand == null)
{
saveEditingEmployee = new RelayCommand(
p => SaveEditingView());
}
return saveEditingViewCommand; ;
}
}
public void SaveEditingView()
{
CurrentPageViewModel = PageViewModels[0];
}
它完美运行 - 视图从EditEmployeeView更改为MainView,但是代码只是更改视图而不是触发位于VMEditEmployee的保存员工(SaveEmplMethod())的逻辑:
private ICommand saveEmplCommand;
public ICommand SaveEmplCommand
{
get
{
if (saveEmplCommand == null)
{
saveEmplCommand = new RelayCommand(
p => SaveEmplMethod());
}
return saveEmplCommand;
}
}
private void SaveEmplMethod()
{
using (EmplEntities db=new EmplEntities())
{
var currentEmpl = db.Employees.First(q=>q.Empl==selectedEmpl);
currentEmpl.Name="Bob";
db.SaveChanges();
}
}
我的问题是如何保存已修改的员工并将视图更改为主视图?我的方法是否合适? 任何例子和建议将不胜感激!