Wpf MVVM将枚举和枚举描述绑定到Devexpress LookUpEdit
我想将枚举和枚举描述绑定到devexpress dxg:LookUpEdit,但无法执行此操作。我可以用ComboBox获得相同的结果,但我想在查找编辑的网格中显示出来。 这就是代码的样子。我有一个转换器,它将枚举转换为枚举描述Wpf MVVM将枚举和枚举描述绑定到Devexpress LookUpEdit,wpf,xaml,mvvm,enums,devexpress,Wpf,Xaml,Mvvm,Enums,Devexpress,我想将枚举和枚举描述绑定到devexpress dxg:LookUpEdit,但无法执行此操作。我可以用ComboBox获得相同的结果,但我想在查找编辑的网格中显示出来。 这就是代码的样子。我有一个转换器,它将枚举转换为枚举描述 <dxg:LookUpEdit Name="lookUpEdit" SelectedItem="{Binding SelectedStatus}" ItemsSource="{Bin
<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>
尝试按如下方式使用EnumItemsSource(对于此源,您可以设置自定义转换器以转换枚举值):
...
显示两列id和值。我想展示价值和描述。说明将来自enumToStringConverter。我还想知道SelectedItem将如何工作。
<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>