如何将枚举的整数值绑定到wpf中的datagridtextcolumn
我想将枚举int值绑定到datagridtextboxcolumn。 我使用下面的代码如何将枚举的整数值绑定到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
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的情况下显示枚举名称/任何内容?(如果不是,则为不正确的绑定路径)