안녕하세요. 클라인스입니다.
오늘 하루도 정말 바쁘게 지나갔네요..
오늘은 ComboBox의 SelectionChanged사용시 주의점을 알아볼려고 해요..
뭐 간단한 이야기이기도 하고 알고보면 사소한 것이기도 한데..주의해야 할 사항 같아서요..
아래의 XAML코드를 보면 단순히 User컨트롤 안에 Grif를 넣고 차일드로 ComboBox를 넣어주고 있어요..
그리고 ComboBox의 아이템으로 Apple, Orange, Banana라는 3개의 문자열 컨텐츠를 넣어주고 있구요..
그리고 ComboBox에는 TestCombo를 주었구요~
또~ComboBox의 SelectedIndex에 0을 줌으로써 Apple이 선택되게 하였고~
SelectionChanged에는 TestCombo_SelectionChanged라는 메소드를 연결 시켰어요..
아래코드에서는 단순히 해당 함수가 호출되면 문자열을 출력하고 있어요..!! 여기서 중요한 점이 있어요!!
Page()가 호출되기 전에 TestCombo_SelectionChanged가 호출된다는 점!!
즉 Page에서 내부적으로 InitializeComponent메소드를 호출하기 때문에 그 이전에
TestCombo_SelectionChanged호출시 TestCombo라는 변수는 null을 가지고 있습니다.
뭐 어찌보면 정말 간단한 것 같은데요~
버그는 사소한 것부터 생긴다고 하니..조심해야 할 것 같아요..
그럼 행복한 밤 되세요.
감사합니다.
[출처] 실버라이트 네이버 카페