2017-01-18 4 views
0

나는 ComboBoxEdit하지만 단지 콤보 상자가 아닌 내부의 항목에 대한, 콤보

나는 단지 그것을 작동 ComboBoxEdit.ItemTemplate를 사용의 표시 항목에 컨버터를 적용하기 위해 노력하고있어의 표시 항목에 변환기를 적용 선택한. DisplayTemplate을 적용하자마자 오류가 발생하여 "DevExpress.Xpf.Grid.EditGridCellData"유형의 객체를 "System.Enum"으로 변환 할 수 없습니다.

<dxg:GridControl ItemsSource="{Binding SampleList}"> 
     <dxg:GridControl.Columns> 
      <dxg:GridColumn Header="Name" 
          FieldName="Name"/> 
      <dxg:GridColumn Header="Beschreibung" 
          FieldName="Description"/> 
      <dxg:GridColumn Header="Kategorie" 
          FieldName="Category"> 

       <dxg:GridColumn.CellTemplate> 
        <DataTemplate> 
         <dxe:ComboBoxEdit ItemsSource="{Binding DataContext.CategoryList, ElementName=LicenseContainerRoot}" 
              IsTextEditable="False" 
              Name="PART_Editor"> 
          <dxe:ComboBoxEdit.DisplayTemplate> 
           <ControlTemplate> 
            <TextBlock Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" /> 
           </ControlTemplate> 
          </dxe:ComboBoxEdit.DisplayTemplate> 
          <dxe:ComboBoxEdit.ItemTemplate> 
           <DataTemplate> 
            <TextBlock Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" /> 
           </DataTemplate> 
          </dxe:ComboBoxEdit.ItemTemplate> 
         </dxe:ComboBoxEdit> 
        </DataTemplate> 
       </dxg:GridColumn.CellTemplate> 
      </dxg:GridColumn> 
     </dxg:GridControl.Columns> 
    </dxg:GridControl> 

답변

0

변환기가 호출되는 사용 가능한 데이터 컨텍스트는 EditGridCellData 인스턴스입니다. EditGridCellData의 DataObject 속성에서 찾고있는 열거 형입니까?

EnumDescriptionConverter의 소스가있는 경우 EnumDescriptionConverter.Convert에 디버거 중단 점을 놓고 전달할 데이터 유형을 결정할 수 있습니다.