Несколько категорий в .NET PropertyGrid не отображаются с атрибутами - PullRequest
2 голосов
/ 27 января 2011

У меня есть PropertyGrid с 2 категориями: «Проверка клиента 1» и «Проверка клиента 2»

Если у меня есть только ОДИН атрибут Category в атрибуте BrowseableAttributes, отображается ОДНА. Если у меня есть ОБА / ДВУМЯ категория атрибутов в категории «Доступные для просмотра атрибуты», то НЕТ.

Почему это?

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 Ответ

1 голос
/ 27 января 2011

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

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

...