如何使属性网格中的属性顺序与类声明中的属性顺序不同

时间:2015-05-08 11:24:30

标签: c# properties attributes propertygrid

我想让下面的类属性显示在PropertyGrid中而不是在声明的顺序中显示,而是指定属性?是否有这样的属性?

如:

一个 乙 ç

感谢。

    public class ApplicationConfiguration
    {
        public ApplicationConfiguration()
        {
        }
        public int A { get; set; }
        public int C { get; set; }
        public int B { get; set; }
}

2 个答案:

答案 0 :(得分:0)

如果要从MVC / WCF应用程序发送此对象,则可以使用如下所示的DataMember属性

public class ApplicationConfiguration
    {
        public ApplicationConfiguration()
        {
        }
        [DataMember(Order=1)]
        public int A { get; set; }
        [DataMember(Order = 3)]
        public int C { get; set; }
        [DataMember(Order = 2)]
        public int B { get; set; }
    }

答案 1 :(得分:0)

在决定类的实例应如何出现在属性网格中时,您有很多选择。从Design-Time Attributes for Components开始,然后从那里开始。

总体情况见Extending Design-Time Support。最重要的是,只需添加[Category("categoryName")]属性,您就可以轻松地按类别分组显示属性。但是如果你需要它们以与声明顺序完全不同的顺序出现,那么你需要创建一个Designer。