무효 클릭 IP 추적 중...
c#/wpf

[c# wpf] 콤보박스 selecteditem vs selectedvalue 차이점

꼬예 2022. 6. 24.

 

 

콤보박스 속성인 selecteditemselectedvalue의 차이점에 대해 낱낱이 파헤쳐보도록 하겠습니다.

 

 

이 글을 읽기 전 선수 지식 포스팅

 

1) 코드비하인드

//MainWindow.xaml.cs

 

(1) Person클래스와 그 Person클래스를 담을 그릇People 클래스를 만들었습니다.

 

person클래스생성

 

(2) Person객체들을 담은  People 객체를 DataContext에 할당합니다.

 

datacontext 할당

 

(3) 버튼 이벤트 생성

해당 코드는 디버그시 해당 값들이 무엇인지 확인하기 위함입니다.

 

디버깅코드작성

 

2) xaml

//MainWindow.xaml

 

기본layout

 

간단한 UI를 만들어보았습니다.

Name="combo"는 code-behind 단에서 사용하기 위한것입니다.

(해당 코드가 낯선분들은 콤보박스 포스팅을 읽고 와주시기 바랍니다.)

 

3) 디버깅 

세번째에 위치한 messi를 클릭해볼게요.

 

디버깅

 

조사식 창을 확인 결과 SelectedItem, SelectedValue 둘 다 현재 선택된 객체(object)를 반환하고 있습니다.

 

조사식결과

 

그렇다면 이 둘의 차이는 없는걸까요?

 

결론부터 말하자면 SelectedValue는 같이 쓸 수 있는 짝궁이 있습니다.

바로 SelectedValuePath인데요.

 

이 친구는 아래와 같은 모습으로 사용됩니다.

 

SelectedValuePath사용

 

콤보박스 내부에 SelectedValuePath 속성값을 지정하고 value 값으로로 출력하고싶은 클래스의 프러퍼티명을 적어줍니다.

 

다시 디버깅해보면, SelectedValue의 값이 변경된걸 알 수 있습니다.

 

조사식 결과

 

정리하자면 SelectedValueSelectedValuePath와 함께 쓸수 있으며,  이를 통해 원하는 프러퍼티값만 추출이 가능합니다.

  • 트위터 공유하기
  • 페이스북 공유하기
  • 카카오톡 공유하기
이 컨텐츠가 마음에 드셨다면 커피 한잔(후원) ☕

댓글