노주현 개인 블로그

[Designer] ListBox 여러번 실행되는 문제 본문

프로그래밍/Trouble Shooting

[Designer] ListBox 여러번 실행되는 문제

해인아빠408 2022. 1. 7. 11:22

Designer 에서 ListBox 를 사용할 때 아래와 같이 사용 하는 경우

 

 

처음 Page 를 열거나, 리스트 박스를 클릭할 때 2~3번 이상 여러번 실행되는 경우가 있음

 

원인 분석 및 확인 결과 

 

위와 같이 Camera List 를 추가하는 코드에서

 

기존 : DeleteAll 실행 -> 원하는 item 을 하나씩 AddRow 해서 추가

AddRow 할 때 인덱스가 0이 되면서 여러번 타게 된다고 생각했었다.

수차례 확인 결과 DeleteAll 해서 하나씩 지워질 때 1번 인덱스 -> 0번 인덱스로 밀리면서 On Value Changed 가

실행되고 계속 Item Index 가 0 이 들어오는 현상이 발생하였다.

 

변경 : Item Index 를 -1로 변경 -> DeleteAll 실행 -> 원하는 item 을 하나씩 AddRow 해서 추가

DeleteAll 실행 전에 인덱스 자체를 -1 로 변경하면 , Item 이 줄어듦과 상관없이 계속 item index 는 -1 을 

유지하여 아래 조건 식에 의해 여러번 타는 현상이 발생하지 않는다. 

 

CamIndex (ItemIndex) 가 -1 이면 if문을 타지 않는다.

 

 

결론 : DeleteAll 하기 전에 연결된 List Box 의 Idex 를 -1 로 변경하고,

        OnSelectionChanged 에 if( Index != -1) 처리 필수 

Comments