所以我有一個listview,它的itemsSource屬性綁定到ObservableCollection,放置在視圖模型上。和一個按鈕在視圖上 我該如何做到這一點,按鈕刪除從列表視圖中選擇的項目,從observableCollection?如何從列表中刪除? MVVM模式定向
回答
將第二個屬性綁定到列表視圖選定項目,將第三個屬性綁定到視圖模型上的命令,該命令只是從項目列表中刪除所選項目。
有很多方法可以做到這一點。一種方法是創建一個RelayCommand
或參數
<Button Command="{Binding MyDeleteCommand}"
CommandParameter="{Binding ElementName=mylistview, Path=SelectedItem}"/>
你可以去AlSki貼的方式,綁定SelectedItem
您ViewModel
和處理命令不帶參數在ViewModel
只需再添一DelegateCommand
辦法做到這一點:
<ListView ItemsSource="{Binding MyList}"
SelectedItem="{Binding SelectedItem}"/>
<Button Command="{Binding DeleteCommand}"/>
在您的視圖模型,你有一個名爲SelectedItem
屬性,將每次更改時更新選在ListView
。
現在你可以在ViewModel
輕鬆處理刪除:
internal class ViewModel
{
public ViewModel()
{
this.DeleteCommand = new RelayCommand(() => this.Delete());
}
public void Delete()
{
this.MyList.Remove(this.SelectedItem);
}
}
轉到HERE之進一步資料RelayCommand
如果列表包含將有一個錯誤包含重複和用戶選擇刪除第一個副本以外的項目。例如。如果用戶選擇列表「{2,3,4,5,2}」中的最後一項,則該命令將刪除第一項。 – Lightman
_Delete_的含義應該在您的業務案例中定義,並在'Delete'方法中實現。此外,在80%的情況下,刪除第一個匹配項可能是您想要的。 –
- 1. 如何從列表中刪除項目?
- 2. 從HTML表格中刪除列傾向
- 3. .htaccess,如何從url中刪除模式?
- 4. MVVM模式列表視圖
- 5. Python正則表達式從字符串列表中刪除特定模式
- 6. 如何從表中刪除多列?
- 7. 如何從列表中刪除項目
- 8. 如何從列表中刪除對象
- 9. 如何從列表中刪除項目?
- 10. 如何在mvvm模式中定義usercontrols?
- 11. 刪除在PostgreSQL中指定模式的表的列表
- 12. NullReferenceException從列表框中刪除
- 13. 如何從字符向量列表中刪除「」
- 14. 如何從字符向量列表中刪除元素?
- 15. 如何從列表中刪除元素
- 16. 如何從表中刪除標識列
- 17. 如何從列表中刪除?
- 18. 如何從列表中刪除重複
- 19. 如何從列表中刪除項目
- 20. jquery如何從表中刪除一列
- 21. 我如何從表中刪除列
- 22. 如何從HashSet列表中刪除「\ t」?
- 23. 如何從列表中刪除字符
- 24. 如何從列表中刪除[NaN]?
- 25. 如何從iTextSharp表中刪除列
- 26. 如何從鏈接列表中刪除?
- 27. 從列表中刪除值從列表中刪除
- 28. 通過MVVM RelayCommand從列表框中刪除SelectedItems
- 29. 如何從GHCi中的「目標列表」中刪除模塊
- 30. 從下拉列表中刪除樣式
你可以使用一個命令功能。 檢查一個答案http://stackoverflow.com/questions/5472071/delete-an-item-in-a-listbox-with-a-button-in-wpf-mvvm –