我创建了一个ViewModel类,它返回一个XmlDataProvider的istance,我在ListBox中绑定它,一个DeleteCommand(ICommand)。
<ListBox x:Name="Books" Margin="0,0,0,10"
DataContext="{Binding DataProvider}"
ItemsSource="{Binding}"
SelectionMode="Single">
</ListBox>
<Button Command="{Binding DeleteCommand}">Remove item</Button>
列表框加载XML的数据,按钮执行DeleteCommand就好了。
我的Xml是这样的,DataProvider XPath =“Books / Book”:
<Books>
<Book Id="1">The book</Book>
...
</Books>
问题是我甚至无法弄清楚如何取回列表中选择的项目。我的目标是将id放入ViewModel或将其绑定到按钮并将其作为参数传递但我不知道如何。
有人可以帮忙吗?
答案 0 :(得分:0)
使用CommandParameter:
<Button Command="{Binding DeleteCommand}" CommandParameter="{Binding ElementName=Books Path=SelectedItem}">Remove item</Button>
这样您就可以将SelectedItem传递给您的方法。