我想将Enum和Enum描述绑定到devexpress dxg:LookUpEdit但无法执行此操作。我可以使用ComboBox来获得相同的结果,但我希望在查找编辑的网格中显示。 这就是代码的样子。我有一个转换器,它将Enum转换为枚举描述。
<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 :(得分: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>