프로그래밍 방식으로 선택된 ListBoxItem을 변경합니다
-
10-07-2019 - |
문제
선택한 것을 변경할 수 있습니까? ListBoxItem
Windows Presentation Foundation의 Code-Behind에서?
정말 간단한 작업입니다. Next
그리고 Previous
버튼과 그들은 다음과 이전 항목을 나타냅니다. ListBox
. 하지만, myListBox.items
물론 내가 저장 한 것에 대한 객체 표현입니다. ListBox
.
그래서 어떻게 가져올 것입니다 ListBoxItem
설정하려면 IsSelected
재산?
해결책
아마도 당신이 이전과 다음을 수행했기 때문에 당신의 경우에 더 쉬운 일이 선택된 index를 증가시키는 것입니다.
//Increment
if(myListBox.SelectedIndex < myListBox.Items.Count -1)
myListBox.SelectedIndex++;
//Decrement
if(myListBox.SelectedIndex > 0)
myListBox.SelectedIndex--;
만약 너라면 진짜 ListBox에 던져진 객체를 구성하는 ListBoxItem을 얻으려면 다음을 수행 할 수 있습니다.
ListBoxItem item = myListBox.ItemContainerGenerator.ContainerFromItem(objectIWantToSelect);
item.IsSelected = true;
다른 팁
다양한 옵션이 있습니다.
- ListBox 컨트롤의 선택된 선택권 또는 선택한 핀덱스 속성 사용
- Parent ListBox가 아닌 ListBoxItem이있는 경우 ItemsControl.ItemSControlFromItemContainer (ListBoxItem)를 사용하여 Parent ListBox를 검색하고 이전 속성을 사용하십시오).
- iCollectionView 인터페이스 (CollectionViewSource.getDefaultView) 및 해당 메소드 (MoveCurrentTonext, MoveCurrentTopRevious)를 사용하십시오.
제휴하지 않습니다 StackOverflow