如何将枚举的整数值绑定到wpf中的datagridtextcolumn

如何将枚举的整数值绑定到wpf中的datagridtextcolumn,wpf,enums,datagrid,Wpf,Enums,Datagrid,我想将枚举int值绑定到datagridtextboxcolumn。 我使用下面的代码 public enum Enm_Purchase_Ret : short { Purchase = 1, Sale = 2, Return = 3 } public class Vm_Purchase : INotifyPropertyChanged { private Enumitem EnumItem = new Enumitem { Enm_Purchase_Rets

我想将枚举int值绑定到datagridtextboxcolumn。 我使用下面的代码

public enum Enm_Purchase_Ret : short
{
    Purchase = 1,
    Sale = 2,
    Return = 3
}


public class Vm_Purchase : INotifyPropertyChanged
{
    private Enumitem EnumItem = new Enumitem { Enm_Purchase_Rets = Enm_Purchase_Ret.Purchase };
    public Vm_Purchase()
    {

    }
    public class Enumitem
    {
        public Enm_Purchase_Ret Enm_Purchase_Rets { get; set; }

    }

    public Enumitem TestenumClass
    {
        get { return this.EnumItem; }
    }
    public event PropertyChangedEventHandler PropertyChanged;
    private void NotifyPropertyChanged([CallerMemberName] string PropertyName = "")
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new 
            PropertyChangedEventArgs(PropertyName));
        }
    }
}
 <DataGridComboBoxColumn Header="Value" ItemsSource="{Binding Source={StaticResource GetEnumValues}, UpdateSourceTrigger=PropertyChanged}" Width="100"
             SelectedItemBinding ="{Binding Enm_Purchase_Rets, Mode=TwoWay}" />


            <DataGridTextColumn Binding="{Binding xxx}" Header="Enum Id" Width="80" />
在XAML中

 <DataGridComboBoxColumn Header="Value" ItemsSource="{Binding Source={StaticResource GetEnumValues}, UpdateSourceTrigger=PropertyChanged}" Width="100"
             SelectedItemBinding ="{Binding Enm_Purchase_Rets, Mode=TwoWay}" />


            <DataGridTextColumn Binding="{Binding xxx}" Header="Enum Id" Width="80" />

在这里,我想绑定枚举值,即xxx位置中的1、2、3等

 <DataGridComboBoxColumn Header="Value" ItemsSource="{Binding Source={StaticResource GetEnumValues}, UpdateSourceTrigger=PropertyChanged}" Width="100"
             SelectedItemBinding ="{Binding Enm_Purchase_Rets, Mode=TwoWay}" />


            <DataGridTextColumn Binding="{Binding xxx}" Header="Enum Id" Width="80" />
由于我不是wpf方面的专家,请帮助我如何绑定它

 <DataGridComboBoxColumn Header="Value" ItemsSource="{Binding Source={StaticResource GetEnumValues}, UpdateSourceTrigger=PropertyChanged}" Width="100"
             SelectedItemBinding ="{Binding Enm_Purchase_Rets, Mode=TwoWay}" />


            <DataGridTextColumn Binding="{Binding xxx}" Header="Enum Id" Width="80" />

谢谢。

DataGridTextColumn显示
ToString()
方法调用的结果。可以使用格式为“D”的ToString获取枚举的数值。要获得与绑定相同的结果,请添加StringFormat:

 <DataGridComboBoxColumn Header="Value" ItemsSource="{Binding Source={StaticResource GetEnumValues}, UpdateSourceTrigger=PropertyChanged}" Width="100"
             SelectedItemBinding ="{Binding Enm_Purchase_Rets, Mode=TwoWay}" />


            <DataGridTextColumn Binding="{Binding xxx}" Header="Enum Id" Width="80" />
Binding="{Binding Path=Enm_Purchase_Rets, StringFormat='\{0:D\}'}"

我试过这样做,但在DataGridTextColumn中没有得到任何值。@babucr,请提供有关视图模型的更多详细信息。我的建议适用于任何
enum
属性-确保路径使用视图模型中正确的属性名称。什么是DataGrid的DataContext和ItemsSource?DataGridTextColumn是否在没有StringFormat的情况下显示枚举名称/任何内容?(如果不是,则为不正确的绑定路径)