Свойства конструктора свойств элемента управления пользователя - PullRequest
6 голосов
/ 12 августа 2008

Для C # UserControl в Windows Mobile (хотя, пожалуйста, ответьте, если знаете его для полной Windows ... это может работать), как изменить то, что отображается в окне «Свойства конструктора» для одного из открытых свойств элемента управления. Например:

private Color blah = Color.Black;

public Color Blah
{
    get { return this.blah; }
    set { this.blah = value; }
}

Отображается для элемента управления, но он находится в категории «Разное» и не имеет описания или значения по умолчанию. Я пытался использовать настройки в System.ComponentModel, например "DesignerCategory", например:

[DesignerCategory("Custom")]

Но говорит, что это действительно только для объявлений классов ... мог бы поклясться, что это были элементы System.ComponentModel, которые я использовал раньше ...

Обновление:

@ Джон сказал:

DesignerCatogy используется, чтобы сказать, если класс - это форма, компонент и т. д.

Попробуйте это:

[Категория ( "Custom")]

Есть ли конкретное пространство имен, которое мне нужно использовать, чтобы получить их? Я попробовал это точно, и компилятор их не распознает.

В .NETCF все, что мне кажется доступным из System.ComponentModel, это:

DataObject,
DataObjectMethod,
DefaultValue,
DesignerCategory,
DesignTimeVisible,
EditorBrowsable

Единственное, на что он не кричит - это EditorBrowsable

Ответы [ 3 ]

3 голосов
/ 12 августа 2008

DesignerCatogy используется для определения, является ли класс формой, компонентом и т. Д.

Для полных окон необходим атрибут:

[System.ComponentModel.Category ( "Custom")]

и для описания вы можете использовать [System.ComponentModel.Description («Это описание»)]

чтобы использовать оба вместе

[System.ComponentModel.Category ("Custom"), System.ComponentModel.Description ("Это описание")]

Однако это часть system.dll, которая может отличаться для Windows Mobile.

2 голосов
/ 12 августа 2008

Вам это пригодится? Я не занимаюсь разработкой CF, но похоже, что вам нужно добавить некоторые метаданные XML, чтобы включить его:

http://blogs.msdn.com/bluecollar/archive/2007/02/08/adding-compact-framework-design-time-attributes-or-more-fun-with-textboxes.aspx

Интересное прочтение. Похоже, что поддержка времени разработки была лишена CF, потому что вы не разрабатываете их на устройствах .. Что мне кажется странным .. Не могу представить, что в качестве устройства разработки используется карманное устройство! *

Прокрутите вниз примерно на полпути для хороших вещей;)

0 голосов
/ 28 августа 2009

В статье не говорится, что кто-то разрабатывает ПО для устройства. Однако, когда вы создаете проект Compact Framework, компактный каркас (для вашего настольного ПК) используется для обработки визуализации во время разработки. Если вы думаете об этом, это то, что вы ожидаете. Одна и та же структура (или почти такая же) используется для визуализации как на вашем компьютере во время разработки, так и позже на устройстве во время выполнения. Проблема заключается в том, что атрибуты времени разработки не были добавлены в компактную среду (я предполагаю уменьшить размер).

...