答案 0 :(得分:0)
我会用提供的少量信息对此进行抨击。我假设选择了一些项目。当您单击“删除”按钮时,您希望从列表中删除该项目。在这种情况下,您应该将item.Tag设置为ID值,或者设置为包含ID值的某个对象。然后,当您单击“删除”时,您可以从要删除的列表中获取所选项目,查看所选项目的标记,并从中获取所需的ID。然后,您可以使用您刚刚获得的ID来压缩列表,以确定需要删除列表中的其他项目。
希望这会有所帮助。如果这没有帮助,请发送更多说明,我会试着试一试。
答案 1 :(得分:0)
你所追求的是一个CommandParameter。让我们假设您将ViewModel设置为页面中的静态资源,并将ListBox绑定到使用DataTemplate的项集合。
您需要实现此目的的是在ViewModel中创建一个ICommand来处理删除。
public ICommand DeleteItemCommand {
get { return new DelegateCommand(deleteItemClicked, alwaysCanInvoke); }
}
private deleteItemClicked(object param) {
// Business logic here to remove item based on param
}
接下来在XAML DataTemplate中指定以下内容。
<Button Content="Remove" Command="{Binding Source={StaticResource myViewModel}, Path=DeleteItemCommand}" CommandParameter="{Binding Id}"/>
其中,Id是您尝试从列表中删除的项目的公开属性。
有关实现DelegateCommand的示例,请查看此处:http://wpftutorial.net/DelegateCommand.html
希望这有帮助。