Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用枚举数据绑定listview分组项_C#_Wpf_Listview_Data Binding_Enums - Fatal编程技术网

C# 如何使用枚举数据绑定listview分组项

C# 如何使用枚举数据绑定listview分组项,c#,wpf,listview,data-binding,enums,C#,Wpf,Listview,Data Binding,Enums,所以现在我已经手动地将数据添加到我的listview中,但决定用mssql为它创建一个数据库 当我使用枚举扩展来显示组描述时,是否有可能,或者是否有其他方法可以做到这一点 public static class EnumExtensions { public static string DisplayName(this Enum value) { FieldInfo field = value.GetType().GetField(value.ToStr

所以现在我已经手动地将数据添加到我的listview中,但决定用mssql为它创建一个数据库

当我使用枚举扩展来显示组描述时,是否有可能,或者是否有其他方法可以做到这一点

    public static class EnumExtensions
{

    public static string DisplayName(this Enum value)
    {
        FieldInfo field = value.GetType().GetField(value.ToString());

        EnumDisplayNameAttribute attribute
                = Attribute.GetCustomAttribute(field, typeof(EnumDisplayNameAttribute))
                    as EnumDisplayNameAttribute;

        return attribute == null ? value.ToString() : attribute.DisplayName;
    }
}

public class EnumDisplayNameAttribute : Attribute
{
    private string _displayName;
    public string DisplayName
    {
        get { return _displayName; }
        set { _displayName = value; }
    }
}

public enum Mærke
{
[EnumDisplayName(DisplayName = "Alfa Romeo                                                                                                                4x98 5x98 4x108 5x108 5x110")]
    Alfa_Romeo,
}
    public class biler
{
    public string billed { get; set; }

    public string Model { get; set; }

    public string type { get; set; }

    public string Årgang { get; set; }

    public string Krydsmål { get; set; }

    public double ET { get; set; }

    public double centerhul { get; set; }

    public string bolter { get; set; }

    public string hjul { get; set; }

    public string mærke { get; set; }

    public string mål { get; set; }

}

 List<biler> items = new List<biler>();
items.Add(new biler() { billed = "img/Biler/Alfa.png", Model = "33", Årgang = "83-94", Krydsmål = "4x98", ET = 40, centerhul = 58.1, bolter = "M12x1.25 Hex19", mærke = Mærke.Alfa_Romeo.DisplayName() });
            hjuldata.ItemsSource = items;



        CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(hjuldata.ItemsSource);
        PropertyGroupDescription groupDescription = new PropertyGroupDescription("mærke");
        view.GroupDescriptions.Add(groupDescription);
公共静态类枚举扩展
{
公共静态字符串DisplayName(此枚举值)
{
FieldInfo field=value.GetType().GetField(value.ToString());
EnumDisplayNameAttribute属性
=Attribute.GetCustomAttribute(字段,typeof(EnumDisplayNameAttribute))
as-EnumDisplayNameAttribute;
return attribute==null?value.ToString():attribute.DisplayName;
}
}
公共类EnumDisplayNameAttribute:属性
{
私有字符串_displayName;
公共字符串显示名
{
获取{return\u displayName;}
设置{u displayName=value;}
}
}
公共枚举Mærke
{
[EnumDisplayName(DisplayName=“Alfa Romeo 4x98 5x98 4x108 5x108 5x110”)]
阿尔法罗密欧,
}
公共舱舱
{
公共字符串计费{get;set;}
公共字符串模型{get;set;}
公共字符串类型{get;set;}
公共字符串Årgang{get;set;}
公共字符串Krydsmål{get;set;}
公共双ET{get;set;}
公共双centerhul{get;set;}
公共字符串博尔特{get;set;}
公共字符串hjul{get;set;}
公共字符串mærke{get;set;}
公共字符串mål{get;set;}
}
列表项=新列表();
添加(新biller(){billed=“img/biler/Alfa.png”,Model=“33”,Årgang=“83-94”,Krydsmål=“4x98”,ET=40,centerhul=58.1,bolter=“M12x1.25 Hex19”,mærke=mærke.Alfa_Romeo.DisplayName());
hjuldata.ItemsSource=项目;
CollectionView视图=(CollectionView)CollectionViewSource.GetDefaultView(hjuldata.ItemsSource);
PropertyGroupDescription groupDescription=新的PropertyGroupDescription(“mærke”);
view.groupDescription.Add(groupDescription);