如何在使用集合时删除ListView中的元素?
问题描述:
我需要使用删除按钮删除ListView中的选定元素。 ListView正在使用数据收集和Web服务来填充数据库中的数据。我也使用MVVM。如何在使用集合时删除ListView中的元素?
这是该按钮的单击事件:
private void Click_Button_Delete(object sender, RoutedEventArgs e)
{
Collection3VM.DinamicSummary.Remove(Collection3VM.DinamicSummary.---);
}
哪里Collection3VM是在XAML代码命名视图模型的资源参考,并DinamicSummary是视图模型创建的属性。我在哪里使用什么命令?
答
你不是正确的MVVM方式。您可以用一个类型相同类型的集合项的视图模型声明一个属性,然后在你的XAML和列表框元素里,你可以做这样的事情:
SelectedItem = {Binding Path=TheNameOfThePropertyYouChoseInYourViewModel,
Mode=OneWayToSource}
,然后关联的删除按钮,在同一个视图模型的一个命令,并单击该按钮,那么你可以做这样的事情在您的视图模型:
var selectedItem = TheNameOfThePropertyYouChoseInYourViewModel;
yourCollection.Remove(selectedItem);
答
DinamicSummary应类型的ObservableCollection的。
这不是像Sniffer所说的MVVM,你需要改变你的方法 – 2013-03-18 20:17:29