2011-03-25 4 views
2

WPF 콤보 상자에서 현재 표시된 값을 얻으려면 GetSelectedItem (DataViewDataView이므로 dataRowView을 제공함)을 가져온 다음 적절한 열을 가져옵니다.wpf 콤보 상자에서 표시 값을 가져 오는 가장 짧은 방법

우리가 SelectedValue 속성을 갖는 방식과 같이 표시 값을 가져 오는 간단한 방법이 있기를 바랬습니다.

더 나은 접근 방법을 알고있는 사람이 있습니까?

+2

여기에 "값"을 정의합니다. 당신은 이미'SelectedItem'과'SelectedValue' 속성을 가지고 있습니다. 템플릿에 표시된대로 데이터를 원한다면 "선택한"속성을 통해 같은 방식으로 데이터를 가져올 수 없습니까? –

답변

2

ADO.Net 클래스 DataTable을 사용 하시겠습니까? 이 예에서

<ComboBox x:Name="myComboBox" ItemsSource="{Binding}" DisplayMemberPath="SomeColumn" 
      SelectedValuePath="SomeColumn"/> 

콤보 상자가 열 SomeColumn의 값을 표시합니다 :

당신은 매우 간단 표시된 값을 설정할 수 있습니다. 이 더미 이름 대신 올바른 열 이름을 넣으십시오.

그리고 코드 숨김에서

:

myComboBox.DataContext = myDataSet.Customers; //any table 
var selectedValue = myComboBox.SelectedValue; //The displayed value (SomeColumn) 
var fullRow = myComboBox.SelectedITem;  //dataRowView, I think 
+0

@cagespear 동일한 문자열을 DisplayMemberPath 및 SelectedValuePath 속성에 설정해야하며 그 후에 SelectedItem이 아닌 SelectedValue 속성을 사용해야합니다. – vorrtex

+0

그것은 결국 나에게 도움이 되었기 때문에 대답으로 표시합니다. 그것은 내가 WPF에서 정말 순진하고 WPF 프로그래밍에 손을 일년 후 내 자신의 질문을보고 어리 석음을 느낄 때 게시 한 ques 중 하나였습니다 :) –

관련 문제