콤보박스 속성인 selecteditem과 selectedvalue의 차이점에 대해 낱낱이 파헤쳐보도록 하겠습니다.
이 글을 읽기 전 선수 지식 포스팅
1) 코드비하인드
//MainWindow.xaml.cs
(1) Person클래스와 그 Person클래스를 담을 그릇인 People 클래스를 만들었습니다.
(2) Person객체들을 담은 People 객체를 DataContext에 할당합니다.
(3) 버튼 이벤트 생성
해당 코드는 디버그시 해당 값들이 무엇인지 확인하기 위함입니다.
2) xaml
//MainWindow.xaml
간단한 UI를 만들어보았습니다.
Name="combo"는 code-behind 단에서 사용하기 위한것입니다.
(해당 코드가 낯선분들은 콤보박스 포스팅을 읽고 와주시기 바랍니다.)
3) 디버깅
세번째에 위치한 messi를 클릭해볼게요.
조사식 창을 확인 결과 SelectedItem, SelectedValue 둘 다 현재 선택된 객체(object)를 반환하고 있습니다.
그렇다면 이 둘의 차이는 없는걸까요?
결론부터 말하자면 SelectedValue는 같이 쓸 수 있는 짝궁이 있습니다.
바로 SelectedValuePath인데요.
이 친구는 아래와 같은 모습으로 사용됩니다.
콤보박스 내부에 SelectedValuePath 속성값을 지정하고 value 값으로로 출력하고싶은 클래스의 프러퍼티명을 적어줍니다.
다시 디버깅해보면, SelectedValue의 값이 변경된걸 알 수 있습니다.
정리하자면 SelectedValue는 SelectedValuePath와 함께 쓸수 있으며, 이를 통해 원하는 프러퍼티값만 추출이 가능합니다.
'c# > wpf' 카테고리의 다른 글
[c#] 델리게이트를 왜 쓸까? (1) | 2022.06.24 |
---|---|
[c# wpf] DataContext 다양한 연결 방법(with binding) (0) | 2022.06.24 |
[c# wpf] ObservableCollection란? (1) | 2022.06.24 |
[c# wpf] 리스트뷰 출력 값에 % 붙히기(간단한 방법) (1) | 2022.06.23 |
[c# wpf] 클래스의 프러퍼티를 콤보박스 아이템으로 넣는 법? (0) | 2022.06.23 |
댓글