2011-03-03 9 views
0

combobox 선택한 인덱스를 내 viewmodel의 정수 값 (모드)에 바인딩합니다. 그것은 내가 선택한 인덱스/값을 변경하지 않습니다 콤보 상자의 값을 변경하려고하면 제외하고 작동하는 것 같습니다.DataGrid의 콤보 상자가 올바르게 업데이트되지 않습니다.

XAML :

<DataGridTemplateColumn.CellTemplate> 
    <DataTemplate> 
     <ComboBox 
      ItemsSource="{Binding Source={StaticResource modeValues}}" 
      SelectedIndex="{Binding Mode, Mode=TwoWay}" 
      /> 
    </DataTemplate> 
</DataGridTemplateColumn.CellTemplate> 

public int Mode 
    { 
     get { return _mode; } 
     set 
     { 
      _mode = value; 
      NotifyPropertyChanged("Mode"); 
     } 
    } 
+0

"선택한 색인/값"을 변경하지 않는다고 말하면 ViewModel 또는 다른 값을 참조합니까? ComboBox 선택을 변경하면 ViewModel의 Mode 속성이 변경됩니다. 당신은 다른 행동을 기대합니까? –

+0

그리드의 콤보 상자에있는 값을 의미합니다. – user404068

답변

0

내가 셀 템플릿과 CellEditingTemplate을 필요로 밝혀졌습니다.

<DataGridTemplateColumn.CellTemplate> 
        <DataTemplate> 
         <TextBlock Text="{Binding ModeText}"/> 
        </DataTemplate> 
       </DataGridTemplateColumn.CellTemplate> 
       <DataGridTemplateColumn.CellEditingTemplate> 
        <DataTemplate> 
         <ComboBox 
          ItemsSource="{Binding Source={StaticResource modeValues}}" 
          SelectedIndex="{Binding Mode, Mode=TwoWay}" 
         /> 
        </DataTemplate> 
       </DataGridTemplateColumn.CellEditingTemplate> 
      </DataGridTemplateColumn> 
관련 문제