按照声明的顺序在PropertyGrid中显示项目

时间:2012-08-07 07:53:02

标签: c# .net propertygrid

是否可以按照声明方式在UI中显示PropertyGrid项?我发现它们首先按CategoryAttribute排序,然后按DisplayName属性按升序排序。

我正在使用Visual Studio 2010 Ultimate的.NET 3.5版。

修改

该应用程序是WPF应用程序。

3 个答案:

答案 0 :(得分:8)

来自此文档:http://msdn.microsoft.com/it-it/library/system.windows.forms.propertysort.aspx

如果将属性PropertySort设置为PropertySort.NoSort,则属性的排序顺序应遵循以下标准:属性按照从TypeDescriptor检索它们的顺序显示。

答案 1 :(得分:1)

您可以使用注释设置很多属性,其中之一是“显示顺序” 使用System.ComponentModel.DataAnnotations.Display属性看起来像这样:

[DisplayName("Error"),Display(Order = 5)]
public string Error { get; internal set; }

答案 2 :(得分:0)

您可以尝试使用此代码。

private void propertyGrid1_PropertySortChanged(object sender, EventArgs e)
{
    if (propertyGrid1.PropertySort == PropertySort.CategorizedAlphabetical)
    {
        propertyGrid1.PropertySort = PropertySort.Categorized;
    }
}