В WinForms я могу добавить атрибут [Категория] к свойству пользовательского элемента управления, чтобы указать, какая категория свойства должна содержать свойство. Как это сделать в WPF? СпасибоУкажите категорию свойств для пользовательского контроля WPF?
ответ
Я обнаружил, что у вас нет , чтобы включить DLL времени разработки, чтобы добавить атрибут [Категория] в пользовательское свойство управления. Это один из способов, которым это можно сделать, но на самом деле вы можете использовать любой атрибут .NET так же, как и в WinForms. Например:
/// <summary>
/// The image displayed by the button.
/// </summary>
/// <remarks>The image is specified in XAML as an absolute or relative path.</remarks>
[Description("The image displayed by the button."), Category("Common Properties")]
public ImageSource Image
{
get { return (ImageSource)GetValue(ImageProperty); }
set { SetValue(ImageProperty, value); }
}
Вам необходимо предоставить «сборку метаданных», также известную как «DLL времени разработки». Это сборка с тем же именем, что и ваша основная сборка с присоединенным к ней .Design (например, MyCompany.MyControls.Design.dll) и содержащий класс, который реализует IRegisterMetadata. Реализация IRegisterMetadata создает таблицу атрибутов для различных компонентов вашей основной сборки и добавляет ее в MetadataStore.
Дополнительную информацию и примеры см. В сообщениях в блоге от Джима Накашимы из команды Сидра here и here.
Для документации см. WPF Designer Extensibility в MSDN.