我将一个可观察的cllection绑定到silverlight中的一个列表框。当我单击列表框中的一个项目并单击删除按钮时,如何删除该特定项目从列表框中删除没有linq使用mvvm.i传递按钮的命令参数是listbox itemid
<ListBox ItemsSource="{Binding School1,Mode=TwoWay}" DisplayMemberPath="SchoolName" Name="listBox1" >
<Button Content="Delete" Command="{Binding deletecommand}" CommandParameter="{Binding Path=SelectedItem.ID,ElementName=listBox1}" Name="button2" />
那么从observable collection中删除特定项目的代码是什么
public void delete(object parameter)
{
School1.Remove(...)
}
答案 0 :(得分:0)
将ListBox的SelectedItem绑定到属性并在Remove()中使用它:
<ListBox ItemsSource="{Binding School1, Mode=TwoWay}"
DisplayMemberPath="SchoolName"
SelectedItem={Binding SelectedSchool}
Name="listBox1"
/>
public void delete(object parameter)
{
if (SelectedSchool != null)
School1.Remove(SelectedSchool);
}
另请注意,您的问题有点重复:Clearing selecteditem of listbox (which is bound to collection of objects) with MVVM