3
我用我的視圖模型下面的代碼刪除項目從集合中:取消刪除動作 - NotifyCollectionChangedAction
UnitMeasureCollection.CollectionChanged += new NotifyCollectionChangedEventHandler(ListOfUnitMeasureCollectionChanged);
void ListOfUnitMeasureCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (e.Action == NotifyCollectionChangedAction.Remove)
{
if (NavigationActions.DeleteConfirmation("Delete Item.", "Are you sure you want to delete this item? This action cannot be undone."))
{
foreach (UnitMeasureBO item in e.OldItems)
{
UnitMeasureBO unitMeasureBO = item as UnitMeasureBO;
bool inUse = unitMeasureRepository.UnitMeasureInUse(unitMeasureBO.UnitMeasureValue);
if (inUse == true)
{
NavigationActions.ShowError("Cannot delete item", "This item cannot be deleted because it is used elsewhere in the application.");
}
else
{
unitMeasureRepository.DeleteUnitMeasure(unitMeasureBO.UnitMeasureValue);
}
}
}
}
}
我有一個綁定到集合的數據網格。我想知道是否有基於確認提示取消刪除操作?我注意到NotifyCollectionChangedEventArgs沒有取消方法。會發生什麼情況是當用戶從數據網格中刪除一個項目,但在確認中選擇了「否」時,該項目仍然從數據網格中刪除。它不會從數據庫中刪除,如果數據網格被刷新,它會再次出現。我使用mvvm模式,我更喜歡這樣做,而不必編寫我的數據網格。任何幫助表示讚賞。
這就是我的想法。儘管我喜歡你對刪除命令的想法。謝謝! – steveareeno 2010-08-09 19:43:25