Включить пользовательскую информацию в сгенерированную активность Xaml в WF4
Мне нужно включить в сгенерированное действие xaml некоторую дополнительную информацию, например, информацию об идентичности (комментарий в заголовке документа), к сожалению, при переходе от дизайнера к редактору кода эта информация теряется из-за автоматической регенерации кода xaml.
Важно, чтобы эта информация не отображалась в конструкторе (поэтому нельзя использовать аннотации или действия).
Наша идея состоит в том, чтобы иметь возможность перехватывать сериализацию / десериализацию Xaml через расширение Visual Studio, чтобы прокрасться в комментарии с внутренней информацией.
1 ответ
Решение
Я имел успех, используя события! например, событие OnBeforeSave из интерфейса IVsRunningDocTableEvents3.
В методе Initialize пакета
IVsRunningDocumentTable rdt = (IVsRunningDocumentTable)GetGlobalService(typeof(SVsRunningDocumentTable));
rdt.AdviseRunningDocTableEvents(new YourClassThatImplements(this), out cookie);
и просто реализовать интерфейс..;)