public virtual void Delete() { //保存当前detail presenter 的引用 var presenter = CurrentDetailPresenter; //如果要删除的presenter的实体不是新增的,那么就下delete命令,删除它 if (!CurrentEditingObject.IsNew) { OnDelete(presenter.Entity); } //找到要删除的index var index = Presenters.IndexOf(presenter); //找到要激活的(置为当前页)的presenter var shouldActionPresenter = DetermineNextPresenterToActivate(index); //切换到要激活的presenter CollectionView.MoveCurrentTo(shouldActionPresenter); //关闭删除的presenter this.Shutdown(presenter); }