2013-12-18 7 views
7

Ho creato un designer XAML personalizzato come http://code.msdn.microsoft.com/windowsdesktop/Designer-View-Over-XML-20a81f17 Ho una domanda: come personalizzare il designer personalizzato solo su alcuni tipi di progetti (ad esempio, tipi di progetti personalizzati) e tutti gli altri progetti designer usato di default.Progettista XAML personalizzato nei progetti personalizzati Tipo Visual Studio

In VsTemplateDesignerPackage.cs di file hanno:

// 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)] 

aggiungo:

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

Ma non funziona. Questo porta al fatto che il designer personalizzato per questa estensione è utilizzato in tutti i tipi di progetti.

Come faccio a un designer personalizzato per aprire i file * .XAML solo in progetti personalizzati?

risposta

0

Penso che non ci sia un modo standard per farlo in VSSDK. Un designer si rivolge principalmente a una determinata estensione di file e verrà invocato per quell'estensione di file in qualsiasi tipo di progetto.

Vorrei provare a trovare un modo per reindirizzare o rifiutare una richiesta di creazione/istanza di quell'editor dopo aver esaminato il tipo di progetto caricato corrente o in alternativa trovare l'editor next-line per il tipo di file e crea un'istanza di esso e restituiscilo invece.

sfortunatamente non sono in grado di fornire dettagli tecnici o codice poiché sono anni che non ho toccato l'ultimo codice VSSDK.