2009-10-29 5 views
1

Windows Presentation Foundation의 코드 숨김에서 ListBoxItem을 변경할 수 있습니까?프로그래밍 방식으로 선택된 ListBoxItem을 변경하십시오.

정말 간단합니다. NextPrevious 버튼이 있으며 이것들은 ListBox의 다음 및 이전 항목을 나타냅니다. 그러나 myListBox.items은 물론 내가 ListBox에 저장 한 것의 객체 표현입니다.

따라서 IsSelected 속성을 설정하려면 ListBoxItem을 어떻게 가져 옵니까?

답변

5

은 아마 쉽게 것은 당신의 경우에해야 할 일하고 다음은 selectedIndex의를 증가한다 :

//Increment 
if(myListBox.SelectedIndex < myListBox.Items.Count -1) 
    myListBox.SelectedIndex++; 

//Decrement 
if(myListBox.SelectedIndex > 0) 
    myListBox.SelectedIndex--; 

당신은 정말 당신이 던진 한 객체를 구성하는 ListBoxItem의를 얻고 싶다면 ListBox에서 다음을 할 수 있습니다.

ListBoxItem item = myListBox.ItemContainerGenerator.ContainerFromItem(objectIWantToSelect); 
item.IsSelected = true; 
1

당신은 다양한 옵션이 있습니다

  • 는 ListBox 컨트롤의 selectedItem가 또는 selectedIndex 속성을 사용을
  • 당신이 ListBoxItem의 아닌 부모리스트 박스가있는 경우, 부모를 검색 할 수 ItemsControl.ItemsControlFromItemContainer (ListBoxItem의)를 사용 리스트 박스 (이전 속성을 사용하여)
  • 가 ICollectionView에 인터페이스 (CollectionViewSource.GetDefaultView) 및 방법 (MoveCurrentToNext, MoveCurrentToPrevious)
를 사용 당신이 이전을하고 있기 때문에
+0

downvote가있는 이유는 확실하지 않습니다. 귀하의 대답은 기술적으로 정확합니다. 나는 보상하기 위해 upvoted : –

+0

잘 모르겠다 ... 감사합니다 :-) – japf

관련 문제