是否可以按照声明方式在UI中显示PropertyGrid项?我发现它们首先按CategoryAttribute排序,然后按DisplayName属性按升序排序。
我正在使用Visual Studio 2010 Ultimate的.NET 3.5版。
修改
该应用程序是WPF应用程序。
答案 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;
}
}