Проект VSIX - расширение окна инструмента свойств

Возможно, я что-то не так ищу, но вот моя проблема. Я ищу способ реализовать собственный инструмент редактирования в окне инструмента свойств в редакторе Visual Studio. Я просмотрел несколько ссылок на документацию, и все они приводят к использованию разных сборок, но я не могу заставить ничего работать так, как я хочу.

Прежде всего, я попытался использовать класс UITypeEditor с пошаговой инструкцией, которую нашел здесь: https://docs.microsoft.com/fr-fr/dotnet/api/system.drawing.design.uitypeeditor?view=net-5.0 Проблема, с которой я столкнулся, заключалась в том, что казалось, что он работает только с проектами Winforms, и я пытаюсь использовать это с проектом WPF.

Впоследствии я попробовал следовать этому руководству, чтобы создать шаблон проекта : https://docs.microsoft.com/en-us/visualstudio/extensibility/creating-a-basic-project-system-part-1?view=vs-2019 Это навело меня на мысль, что методы, используемые в руководстве, могли быть либо устаревшими, либо улучшенными с использованием AsyncPackages вместо ProjectPackages и появлением сборки Microsoft.VisualStudio.Shell.Flavor, которые кажутся бесполезными ProjectNode класс (он даже не показывает вверх больше, метод был заменен пустотой).

Последний момент, который я пробовал исследовать, - это использование ProjectSystem , как описано здесь: https://github.com/microsoft/VSProjectSystem. На самом деле было хуже, потому что я не мог заставить его работать так, как я хотел, тип проекта, которым я был при создании не удалось зарегистрировать файлы C #, и я не смог добавить новые классы (мне, возможно, придется копнуть здесь немного глубже, но я не знаю, где искать).

В общем, мне нужна помощь, чтобы расширить окно инструмента свойств с помощью редактора в окне или модального окна, открываемого нажатием кнопки с многоточием в окне свойств.

Спасибо, что прочитали это, если у вас есть информация, мне очень интересно.

1 ответ

На самом деле я нашел нить, ведущую к тому, что я пытался сделать здесь . Этот учебник предлагает способ реализации настраиваемого редактора, встроенного, расширенного или в другом диалоговом окне. Это было то, что мне было нужно, и с помощью нескольких настроек мне удалось сделать то, что я хотел.