2011-01-13 7 views
1

Edit:WPF C# erstellen VS-Like Projekte

Lassen Sie mich meine Frage umformulieren, um es deutlich zu machen. Das tut mir leid.

Ich bin auf der Suche nach einer projektbasierten Anwendung zu erstellen. Zum Beispiel könnte die Projektdatei .proj heißen, aber darin befinden sich Dateien, die dem Projekt ähnlich sind wie VS (und sie öffnen sich einfach in einer tabcontrol).

Wenn also ein Benutzer Datei -> Öffnen -> Projekt auswählt und eine .proj Datei auswählt, werden alle zugehörigen Dateien mit diesem Projekt geöffnet.

Hoffentlich erklärt das ein wenig besser. Danke vielmals!

+0

Ich glaube wirklich nicht, dass ich die Frage verstehe. Wollen Sie damit ein [Tabbed Document Interface] (http://en.wikipedia.org/wiki/Tabbed_document_interface) für ein neues Projekt erstellen? – jcolebrand

Antwort

1

Öffnen Sie einfach eine Projektdatei von Visual Studio in einem Editor. Es ist eine gewöhnliche XML-Datei mit den Elementen PropertyGroup und ItemGroup.

Referenzen für Dateien suchen auf folgende Weise:

<ApplicationDefinition Include="App.xaml"> 
    <Generator>MSBuild:Compile</Generator> 
    <SubType>Designer</SubType> 
</ApplicationDefinition> 
<Compile Include="App.xaml.cs"> 
    <DependentUpon>App.xaml</DependentUpon> 
    <SubType>Code</SubType> 
</Compile> 

Sie dieses xml analysieren kann, um eine hierarchische Sammlung erstellen (eine Information über Ordner und Attribute DependentUpon) und binden Sie es mit einem TreeView.

Offene Tabs werden in der Datei mit der Erweiterung 'suo' gespeichert, aber Sie können sie auch in einem XML-Format speichern. Nachdem Sie ein Projekt geöffnet haben, sollten Sie offene Dateien in den tatsächlichen Dateien finden und sie dem TabControl hinzufügen.

0

Sie sollten das tun, wie PRISM tut; Erstellen Sie ein Panel beliebiger Art und stecken Sie darin das TabControl leer. Jedes Mal, wenn Sie ein neues Projekt auswählen, löschen Sie einfach die Anzahl der Registerkarten im Steuerelement. Wenn Sie eine neue Datei hinzufügen, tun Sie dies, indem Sie ein neues TabItem erstellen. Die Datei wird natürlich im TabItem angezeigt. Ist das was du meinst?

+0

Ich habe meine Frage bearbeitet, um sie hoffentlich klarer zu machen! Vielen Dank für Ihre Antwort. –

+0

Sie müssen mit der VS-Assembly arbeiten, die bereits alle erforderlichen APIs bereitstellt. – Raffaeu

Verwandte Themen