2014-09-16 4 views
0

Я хочу связать описание Enum и Enum с devexpress dxg: LookUpEdit, но не смог этого сделать. Я могу получить тот же результат с ComboBox, но хочу показать, что в сетке, которая просматривает редактирование, делает. Вот как выглядит код. У меня есть конвертер, который преобразует описание Enum в перечисление.MVVM Bind Enum and Enum описание Devexpress LookUpEdit

<dxg:LookUpEdit Name="lookUpEdit" SelectedItem="{Binding SelectedStatus}" 
             ItemsSource="{Binding Statuses}" 
             AutoComplete="True" AutoPopulateColumns="False" PopupWidth="250"> 
        <dxg:LookUpEdit.PopupContentTemplate> 
         <ControlTemplate> 
          <dxg:GridControl Name="PART_GridControl"> 
           <dxg:GridControl.Columns> 
            <dxg:GridColumn Header="Filter" FieldName="Name" Width="100" /> 
            <dxg:GridColumn Header="Description" Width="100"> 
             <dxg:GridColumn.CellTemplate> 
              <DataTemplate> 
              <TextBlock> 
               <Run Text="{Binding Mode=OneTime, Converter={StaticResource EnumToStringConverter}}"></Run> 
              </TextBlock> 
             </DataTemplate> 
             </dxg:GridColumn.CellTemplate> 
            </dxg:GridColumn> 
           </dxg:GridControl.Columns> 
           <dxg:GridControl.View> 
            <dxg:TableView AllowEditing="False" ShowGroupPanel="False" /> 
           </dxg:GridControl.View> 
          </dxg:GridControl> 
         </ControlTemplate> 
        </dxg:LookUpEdit.PopupContentTemplate> 
       </dxg:LookUpEdit> 

ответ

0

Попробуйте использовать EnumItemsSource следующим образом (для этого источника, вы можете установить пользовательский конвертер для преобразования перечислений-значения):

<Window.Resources> 
    <local:EnumToStringConverter x:Key="enumToStringConverter"/> 
</Window.Resources> 
... 
<dxg:LookUpEdit HorizontalAlignment="Stretch" VerticalAlignment="Top" 
       AutoPopulateColumns="False" 
       ItemsSource="{dxe:EnumItemsSource EnumType={x:Type local:MyEnum}, NameConverter={StaticResource enumToStringConverter}, UseNumericEnumValue=True}" 
       > 
    <dxg:LookUpEdit.PopupContentTemplate> 
     <ControlTemplate> 
      <dxg:GridControl Name="PART_GridControl"> 
       <dxg:GridControl.Columns> 
        <dxg:GridColumn FieldName="Id" Header="ID"/> 
        <dxg:GridColumn FieldName="Value" Header="DESCRIPTION"/> 
       </dxg:GridControl.Columns> 
       <dxg:GridControl.View> 
        <dxg:TableView AllowEditing="False" ShowGroupPanel="False"/> 
       </dxg:GridControl.View> 
      </dxg:GridControl> 
     </ControlTemplate> 
    </dxg:LookUpEdit.PopupContentTemplate> 
</dxg:LookUpEdit> 
+0

это показывает две колонки идентификатор и значение. Я хочу показать ценность и описание. описание будет получено из enumToStringConverter. Также я хочу знать, как будет работать SelectedItem. – SoftDev

Смежные вопросы