Установить категорию свойств для пользовательского элемента управления WPF?

В WinForms я мог добавить [Категория] атрибут к свойству пользовательского элемента управления для определения, какая категория свойств должна содержать свойство. Как я делаю это в WPF?Спасибо

10
задан Dave Clemmer 8 September 2011 в 22:13
поделиться

2 ответа

Я обнаружил, что Вы не имеете для включения DLL во время проектирования, чтобы добавить атрибут [Category] в пользовательское свойство управления. Это один из способов, но на самом деле, Вы можете использовать любой .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); }
}
17
ответ дан 3 December 2019 в 19:33
поделиться

Вам необходимо предоставить "сборку метаданных", также известную как "DLL времени проектирования". Это сборка с тем же именем, что и ваша основная сборка с приложением .Design (например, MyCompany.MyControls.Design.dll), и содержащая класс, реализующий IRegisterMetadata. Реализация IRegisterMetadata строит таблицу атрибутов для различных компонентов вашей основной сборки, и добавляет ее в MetadataStore.

Полную информацию и примеры смотрите в постелях блога Джима Накашимы из команды Cider здесь и здесь.

Документацию смотрите в WPF Designer Extensibility в MSDN.

.
3
ответ дан 3 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: