2014-04-12 3 views
0

DataGrid가 있습니다. 이 두 개의 열 이름과 성별 보자 : 나는이 프로그램을 실행하면 이제ComboBox의 SelectedItem 또는 SelectedValue를 DataGrid 내에 바인딩합니다.

<DataGrid............> 
    <DataGridTemplateColumn Header="Name"> 
     <DataGridTemplateColumn.CellTemplate> 
      <DataTemplate> 
       <TextBox Text="{Binding Name, RelativeSource.........}" /> 
      </DataTemplate> 
     </DataGridTemplateColumn.CellTemplate> 
    </DataGridTemplateColumn> 
    <DataGridTemplateColumn Header="Age"> 
     <DataGridTemplateColumn.CellTemplate> 
      <DataTemplate> 
       <ComboBox SelectedItem="{Binding Selected, RelativeSource.........}" > 
        <sys:String> Male </sys:String> 
        <sys:String> Female </sys:String> 
       </ComboBox> 
      </DataTemplate> 
     </DataGridTemplateColumn.CellTemplate> 
    </DataGridTemplateColumn> 
</DataGrid> 

을, 내가 예를 들어, 어떤 행의 남성을 선택 thenwhen 내가 DataGrid에 5 개 행이 있다고 가정 3 번째 행, 그러면 모든 콤보 박스의 SelectedItem이 Male이됩니다. 어떻게 이것을 피할 수 있습니까?

enter image description here

:

enter image description here

내가 어떤 콤보 상자에서 여성을 선택할 때 :

내 프로그램은 내가 단 1 개 행이,하지만 더 행을 추가 할 때처럼 보이는 실행

콤보 상자에서 여성을 선택할 때 :

enter image description here

내 바인딩이 잘못된 것을 알고 있으므로 이러한 문제에 직면하고 있지만 아무도 ComboBox의 SelectedItem 바인딩을 DataGrid 내부에서 설명 할 수 있습니까?

+0

데이터 그리드처럼 콤보 SelectedValuePath = "내용"을 설정하는 컨트롤입니다. – Vishal

+0

'SelectedItem' 바인딩의 전체 정의를 보여줄 수 있습니까? 그리고 DataGrid의 ItemsSource는 무엇입니까? – vadim

+0

'Selected' 속성은 어디에 있습니까? –

답변

0

List를 바인딩하려고하고 ComboBoxItem 개체를 항목으로 갖고 있기 때문에. 이

<ComboBox SelectedValuePath="Content" ....... > 
        <sys:String> Male </sys:String> 
        <sys:String> Female </sys:String> 
    </ComboBox> 
관련 문제