所以我有一个列表视图,它的 itemsSource 属性绑定到一个 ObservableCollection,放置在视图模型上。还有一个按钮 on view 我如何制作它,以便按钮从 observableCollection 中删除在 listview 上选择的项目?
问问题
5260 次
3 回答
5
只是添加另一种方式来做到这一点:
<ListView ItemsSource="{Binding MyList}"
SelectedItem="{Binding SelectedItem}"/>
<Button Command="{Binding DeleteCommand}"/>
在您的 ViewModel 中,您有一个名为的属性SelectedItem
,每次您更改ListView
.
现在您可以ViewModel
轻松地处理删除:
internal class ViewModel
{
public ViewModel()
{
this.DeleteCommand = new RelayCommand(() => this.Delete());
}
public void Delete()
{
this.MyList.Remove(this.SelectedItem);
}
}
去这里了解更多信息RelayCommand
于 2012-11-05T07:59:32.307 回答
3
有很多方法可以做到这一点。一种方法是使用参数创建 aRelayCommand
或 aDelegateCommand
<Button Command="{Binding MyDeleteCommand}"
CommandParameter="{Binding ElementName=mylistview, Path=SelectedItem}"/>
您可以按照 AlSki 发布的方式将其绑定SelectedItem
到您的ViewModel
并处理您的不带参数的命令ViewModel
于 2012-11-05T07:44:12.310 回答
1
将第二个属性绑定到列表视图选定项,将第三个属性绑定到视图模型上的命令,它只是从项目列表中删除选定项。
于 2012-11-04T09:40:35.633 回答