2013-12-18 15 views
7

Zrobiłem niestandardowego projektanta XAML jako http://code.msdn.microsoft.com/windowsdesktop/Designer-View-Over-XML-20a81f17 Mam pytanie: jak sprawić, aby niestandardowy projektant pracował tylko w przypadku niektórych typów projektów (np. Niestandardowy typ projektów) i wszystkich innych projektów projektant użyty domyślnie.Niestandardowy projektant XAML w niestandardowym projekcie typu Visual Studio

W VsTemplateDesignerPackage.cs plików posiadać:

// Microsoft Visual Basic Project 
[EditorFactoryNotifyForProject("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}", EditorFactory.Extension, GuidList.guidXmlChooserEditorFactory)] 
// Microsoft Visual C# Project 
[EditorFactoryNotifyForProject("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}", EditorFactory.Extension, GuidList.guidXmlChooserEditorFactory)] 

dodam:

//CustomProjectType 
[EditorFactoryNotifyForProject("{GUID CustomProjectType}", EditorFactory.Extension, GuidList.guidXmlChooserEditorFactory)] 

Ale to nie działa. Prowadzi to do tego, że niestandardowy projektant dla tego rozszerzenia jest używany we wszystkich typach projektów.

Jak utworzyć niestandardowego projektanta, aby otwierać pliki * .XAML tylko w niestandardowych projektach?

Odpowiedz

0

Myślę, że nie ma standardowego sposobu robienia tego w VSSDK. Projektant kieruje się głównie do określonego rozszerzenia pliku i będzie wywoływany dla tego rozszerzenia pliku w dowolnym typie projektu.

Chciałbym sprawdzić, czy istnieje sposób na przekierowanie lub odrzucenie żądania utworzenia/utworzenia tego edytora po sprawdzeniu bieżącego załadowanego typu projektu, lub ewentualnie znaleźć edytor następnej linii dla danego typu pliku i utwórz jego instancję i zwróć ją.

Niestety, nie mogę podać szczegółów technicznych ani kodu, ponieważ minęły lata od ostatniego dotknięcia dowolnego kodu VSSDK.

Powiązane problemy