Frage

Wenn ich ein Ressourcenschutz in einem Projekt habe, ist es möglich, ein anderes Projekt zu erstellen, das Ressourcen verwendet, die im ersten Projekt definiert sind? Beachten Sie, dass beide Projekte WPF -Anwendungen sind, keine Kontrollibraren.

Vielen Dank!!

War es hilfreich?

Lösung

Ja, das ist natürlich möglich, solange Projekt B einen Hinweis auf Projekt A hat.

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="/Project A;component/YourSubFolder/YourResourceFile.xaml" />
</ResourceDictionary.MergedDictionaries>

Dann können Sie einfach die in YourResourceFile.xaml definierten Ressourcen verwenden.

Andere Tipps

Ich stellte fest, dass ich mich auf die Montage selbst verweisen musste und keinen Projektnamen verwenden musste. Ich musste auch das Pack: /// Syntax nicht verwenden, um dies zu funktionieren.

Diese Antwort auf der doppelten Frage gibt das zu verwendende Format an (ich kann überprüfen, ob diese Syntax in .NET 4.0 funktioniert):https://stackoverflow.com/a/10216253/1260563

Speziell (da ich immer den Komponententeil vergesse, der denke, es handelt sich um einen Ordner, den jemand verwendet):

<ResourceDictionary.MergedDictionaries>
   <ResourceDictionary Source="/<YourAssemblyName>;component/<YourReferencedFileHere.xaml>" />
</ResourceDictionary.MergedDictionaries>

Wenn Sie also über eine Assembly ABC.def.dll und eine Datei in dieser DLL bezeichnet werden, namens xyz.xaml auf der Stammebene, die Sie verwenden würden:

<ResourceDictionary.MergedDictionaries>
   <ResourceDictionary Source="/Abc.Def;component/Xyz.xaml" />
</ResourceDictionary.MergedDictionaries>

Hinweis: Resharper 7 wies darauf hin, dass ich die Baugruppe selbst verweisen musste.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top