2013-12-20 1 views
0

콤보 상자의 SelectedItem을 값 변환기가있는 DataGridTextColumn으로 바인딩하려고합니다. MVVM 패턴을 사용하고 있습니다.WPF 콤보 상자에서 선택한 항목을 값 변환기로 DataGridTextColumn에 바인딩하는 방법? DataGridTextColumn과 combobox 모두 데이터 격자 열입니다.

<Datagrid> 
    <DataGridTemplateColumn Header="Left"> 
     <DataGridTemplateColumn.CellTemplate> 
      <DataTemplate> 
       <ComboBox Name="Leftcombo" 
          ItemsSource="{Binding Path=DataContext.Column, RelativeSource={RelativeSource AncestorType=Window}}" 
          SelectedItem="{Binding SelectedColumn, UpdateSourceTrigger=PropertyChanged}"/> 
      </DataTemplate> 
     </DataGridTemplateColumn.CellTemplate> 
    </DataGridTemplateColumn> 

    <DataGridTextColumn Header="Right" 
         Binding="{Binding SelectedColumn, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/> 
    </DataGrid.Columns> 
</DataGrid> 

참고 : SelectedColumn 콤보 상자의 SelectedItem에 바인드 뷰 모델의 속성입니다.

바인딩은 위의 XAML 에서처럼 작동하지만 DataGridTextColumn Header="Right" 열에서 값 변환기를 사용하려고합니다.

답변

0

그래서 무엇이 IValueConverter을 사용하지 못하게합니다. 리소스 섹션에서 다음과 같이 선언하십시오.

<DataGrid.Resources> 
    <namespace:MyConverter x:Key="MyConverter"/> 
</DataGrid.Resources> 
..... 
<DataGridTextColumn Header="Right" 
        Binding="{Binding SelectedColumn, Mode=OneWay, 
             UpdateSourceTrigger=PropertyChanged, 
             Converter={StaticResource MyConverter}}"/> 
관련 문제