Для 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
Это полезно для вас? Я не занимаюсь разработкой CF, но похоже, что вам нужно добавить некоторые метаданные XML, чтобы включить его:
Интересное чтиво. Похоже, что во время разработки была исключена поддержка CF, потому что вы не разрабатываете их на устройствах ... Что мне кажется странным ... Не могу представить, что в качестве буровой установки используется карманное устройство!
Прокрутите вниз примерно на полпути для хорошего материала;)
DesignerCategory
используется, чтобы сказать, является ли класс формой, компонентом и т. д.
Для полных окон атрибут, который вы хотите:
[System.ComponentModel.Category("Custom")]
и для описания вы можете использовать [System.ComponentModel.Description("This is the description")]
Чтобы использовать оба вместе:
[System.ComponentModel.Category("Custom"),System.ComponentModel.Description("This is the description")]
Однако это часть, system.dll
которая может отличаться для Windows Mobile.
В статье не предполагается, что кто-то разрабатывает ПО для устройства. Однако, когда вы создаете проект Compact Framework, компактный каркас (для вашего настольного ПК) используется для обработки рендеринга во время разработки. Если вы думаете об этом, это то, что вы ожидаете. Одна и та же структура (или почти такая же) используется для визуализации как на вашем компьютере во время разработки, так и позже на устройстве во время выполнения. Проблема в том, что атрибуты времени разработки не были добавлены в компактную структуру (я предполагаю уменьшить размер).