2012-11-12 2 views
0

나는 목록 상자에서 하나의 아이템을 클릭하고 delete 버튼을 클릭하면, 특정 아이템을 제거하는 방법은 목록 상자에서 mvvm을 사용하지 않고리스트 박스에서 제거 할 수 있습니다. 버튼의 command 매개 변수는 itemid 목록 상자입니다.silverlight에서 observablecollection에서 커스텀 아이템을 제거하는 방법

<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" /> 

그렇게 관찰 수집

public void delete(object parameter) 
{ 
School1.Remove(...) 
} 

답변

0

에서 특정 항목을 제거하는 코드 무엇 바인드 목록 상자의 SelectedItem 속성과 당신의 제거()에서 그 사용 또한

<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

+0

안녕 @slugs ter 내가 selectedschool 및 binded.when 내가 쓸 school1.remove (selectedschool)에 대한 하나의 문자열 속성을 만들 오류 ... – nichu09

+0

@ nixen09 그리고 무엇이 오류입니까? 디버거를 사용하여 거기에있는 값을 검사 할 수 있도록'delete()'함수의 코드에 중단 점을 넣었습니까? – slugster

+0

나는 그 하나를 지 웁니다. selectedindex를 사용하고 observablecollection.when에서 값을 삭제합니다. 선택된 항목을 사용합니다. 특정 classname.error가 있습니다.이 클래스는 잘못된 argument.i를 가지고 있습니다.이 school1.remove (selecteditem)와 같은 코드를 작성하십시오. 내가 선택한 항목을 사용할 때 오류가 발생하지만이 문제를 해결할 수 없습니다. – nichu09

관련 문제