Атрибут для доступа к пользовательским свойствам в Forms Designer - PullRequest
0 голосов
/ 30 октября 2009

У меня есть элемент управления, в котором есть список Жезлов. Жезлы имеют несколько общедоступных свойств:


    public class Rod
    {
        float Angle { get; set; }
        Color MainColour { get; set; }
        int Length { get; set; }
        int Width { get; set; }
        //other private code here you need not be concerned with ;)
    }

В элементе управления, в котором размещены стержни, список объявляется как:

public List<Rod> Rods { get; set; }

Я хотел бы иметь возможность выбрать элемент управления RodsHost, щелкнуть страницу свойств "Стержни" и редактировать стержни этого элемента управления через графический интерфейс дизайнера форм. В настоящее время я могу добавлять стержни в список, но не редактировать свойства стержня (Angle, MainColour и т. Д.). Я попытался применить атрибут [DesignTimeVisible(true)] к классу удочек, который, похоже, не работал. Я подумал, что, возможно, мне следует использовать атрибут Designer, но я не уверен, какой класс Designer мне нужен здесь. Кто-нибудь получил предложение?

Ответы [ 2 ]

1 голос
/ 06 ноября 2009

Похоже, мне нужно было оформить список следующим образом:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]

, а также добавление конструктора для установки некоторых подходящих значений по умолчанию.

1 голос
/ 30 октября 2009

Я не знаю, поможет ли это вам или нет, но я создал userControl и в нем создал свойства как установлено. Затем свойства автоматически отображаются на панели «Свойства» в визуальной среде IDE.

...