Для 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 is used to say if the class is a form, component etc.
Try this:
[Category("Custom")]
Есть ли какое-то конкретное пространство имен, которое мне нужно использовать, чтобы их получить? Я пробовал именно их, и компилятор их не распознает.
В .NETCF все, что мне кажется, доступно из System.ComponentModel:
DataObject,
DataObjectMethod,
DefaultValue,
DesignerCategory,
DesignTimeVisible,
EditorBrowsable
Единственный, на кого он не кричит, это EditorBrowsable.





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.
Это полезно для вас? Я не занимаюсь разработкой CF, но похоже, что вам нужно добавить некоторые метаданные XML, чтобы включить его:
Интересно читать ... Похоже, что из CF было исключено много времени на разработку, потому что вы не разрабатываете их на устройствах ... Что кажется мне немного странным ... Не могу себе представить использование КПК в качестве средства разработки!
Прокрутите вниз примерно наполовину, чтобы найти хорошие вещи;)
Ах ... это все объясняет! И я согласен, я не понимаю, как он думает, что кто-то проектирует это НА устройстве ... в последний раз, когда я проверял, не было версии Visual Studio для Windows Mobile! Должна быть какая-то другая причина, какой бы глупой она ни была ... Спасибо!
В статье не говорится, что кто-то проектирует устройство. Однако, когда вы создаете проект Compact Framework, компактная платформа (для настольного ПК) используется для обработки рендеринга во время разработки. Если вы думаете об этом, это то, чего вы ожидаете. Одна и та же структура (или почти такая) используется для рендеринга как на вашем ПК во время разработки, так и позже на устройстве во время выполнения. Проблема в том, что атрибуты времени разработки не были добавлены в компактную структуру (я предполагаю, чтобы уменьшить размер).