2011-01-27 2 views
2

У меня есть PropertyGrid 2 Категории: «Тест-клиента 1» и «Тест Клиент 2»несколько категорий в .NET PropertyGrid не видны с атрибутами

Если у меня есть только ОДИН CategoryAttribute в BrowseableAttributes ONE Категория показано , Если у меня есть ОБА/ДВА CategoryAttribute`s в категории BrowseableAttributes NONE.

Зачем?

public class Customer 
    { 
     [DisplayName("first name...:")] 
     [Category("Customer Test 1")] 
     public string FirstName { get; set; } 

     [DisplayName("number...")] 
     [Category("Customer Test 1")] 
     public int Number { get; set; } 

     [DisplayName("wage...:")] 
     [Category("Customer Test 2")] 
     public int Wage { get; set; } 

     [DisplayName("description...:")] 
     [Category("Customer Test 1")] 
     public string Desc { get; set; } 

     [DisplayName("shit...:")] 
     [Category("Customer Test 1")] 
     public string Nonsens { get; set; }  
    } 

    public Form1() 
      { 
       InitializeComponent(); 

       Attribute[] attributes = new Attribute[]{ new CategoryAttribute("Customer Test 1"), new CategoryAttribute("Customer Test 2") }; 
       propertyGrid1.BrowsableAttributes = new AttributeCollection(attributes); 

       propertyGrid1.PropertySort = PropertySort.Categorized; 
       propertyGrid1.ToolbarVisible = true; 
       propertyGrid1.SelectedObject = new Customer() { FirstName = "Bernd", Number = 100, Desc = 

"steine", Wage = 3333, Nonsens = "crap" }; 
     } 

ответ

1

Вы уверены, что если вы назначаете несколько атрибутов BrowsableAttributes, свойства должны иметь только один атрибут соответствия и не все из них?

Другими словами, BrowsableAttributes может действовать как фильтр с использованием оператора AND и атрибутов вместо OR. Но я должен признать, что я сам этого не пробовал.

+0

нашел ограничение, хотя оно не имеет смысла ... http://social.msdn.microsoft.com/Forums/en-US/winformsdesigner/thread/707ebb7f-0a76-40d9-9e0c-31183d454d90 Знаете ли вы, можно как-то сказать, чтобы свойствоgrid отображал только свойства, которые ARE аннотируются? Другой способ ... – msfanboy

+1

Это точно, проверьте TypeConverter.GetProperties(). –

+0

извините Ханс, но что точно? – msfanboy

Смежные вопросы