Как позволить дизайнеру C # редактировать мое свойство struct? - PullRequest
3 голосов
/ 23 мая 2011

Я создаю пользовательский элемент управления Windows Forms в C # с несколькими пользовательскими свойствами.Одним из этих свойств является простая структура с несколькими интегральными полями:

public struct Test
{
    public int A, B;
}

Test _Test;

[Category("MyCategory")]
public Test TestProperty
{
    get { return _Test; }
    set { _Test = value; }
}

Я хочу, чтобы дизайнер Visual Studio редактировал поля моей структуры так же, как это делается для Size, Margins идругие подобные структуры Windows Forms.Нужно ли реализовывать пользовательский редактор свойств, основанный на классе UITypeEditor, или есть какой-то общий «структурный редактор», предоставляемый .Net framework?

Ответы [ 2 ]

5 голосов
/ 24 мая 2011

Это должно сработать:

[TypeConverter(typeof(ExpandableObjectConverter))]
public struct Test
{
    public int _A, _B;
    public int B
    {
        get { return _B; }
        set { _B = value; }
    }
    public int A
    {
        get { return _A; }
        set { _A = value; }
    }
}

Test _Test;

[Category("MyCategory")]
public Test TestProperty
{
    get { return _Test; }
    set { _Test = value; }
}
0 голосов
/ 23 мая 2011

Вам нужно создать собственного дизайнера. http://msdn.microsoft.com/en-us/magazine/cc164048.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...