在我的viewmodel中,我有一个包含项目的列表(ObservableCollection)。在该视图中,此列表显示在ItemsControl
中。在每一行中都有一个“删除”按钮。我想要按钮后面的命令从列表中删除项目。WPF:列表中删除命令的命令参数
<ItemsControl ItemsSource="{Binding myList}">
<ItemsControl.ItemTemplate>
...
<Button Command="{StaticResource myDeleteCommand}" CommandParameter="???">
Remove item
</Button>
...
</ItemsControl.ItemTemplate>
</ItemsControl>
我作为命令参数传递了什么?
- 该项目本身(
Binding .
)?然后我没有对命令中的列表的引用,所以我需要更改模型,以便每个列表项都包含对列表的反向引用。 - 清单?然后我没有对该项目的参考。
- Both?然后我需要编写一个MultiConverter,将列表和项目翻译成一些自定义对象。对于这样一个简单的任务似乎有很多开销。
任何想法?这对我来说似乎是一个相当常见的场景,所以我想必须有一些行之有效的最佳实践解决方案......
丹科! :-)是的,为列表的每个实例创建一个单独的命令确实是解决方案。 – Heinzi 2010-08-13 13:52:52