1

J'ai un projet que je fais et je dois partager le code entre Silverlight et WPF Le problème d'assemblage est que même si l'assembly wpf est le propriétaire de ce fichier et l'assembly Silverlight a seulement un lien vers le fichier, toutes les actions de construction sont la page tout est correct. si je fais l'assembly silverlight le propriétaire puis silverlight fonctionne et wpf doesnt, et actuellement avec wpf étant le propriétaire je ne reçois pas d'erreurs du tout il styles jamais le contrôle comme il ne peut pas le trouver ..Les thèmes liés/Generic.xaml Les fichiers ne fonctionneront pas dans Visual Studio 2008

Note: les deux projets existe dans la même solution.

ce scénario construit et fonctionne très bien

projet WPF

| __Themes

|__Generic.xaml 
    |__SomeControl.cs 

ce scénario construit et fonctionne, mais ne sera pas afficher le contrôle si je les change de lien à la normale, il fonctionnera bien. Je veux juste partager ce code source et ne pas avoir plusieurs versions du même fichier flottant autour.

SilverlightProject

| __Themes

|__"Linked"Generic.xaml 
    |__"Linked"SomeControl.cs 

désolé pour mon ringard Vue arborescente représentation

+++++++ MISE À JOUR +++++++++

J'ai remarqué lors de l'utilisation de tout fichier lié, peu importe si c'est silverlight ou WPF le fichier de lien ne sera pas intégré dans le dossier Thèmes dans la ressource seule la racine. J'ai utilisé réflecteur pour voir où mes ressources ont fini après la compilation de l'ensemble, y compris le fichier lié et ils se sont retrouvés dans la racine, donc cela étant dit. existe-t-il un moyen d'empêcher cela ou une solution à ce problème s'il s'agit bien d'un comportement non intentionnel?

Je serais vraiment ravi d'avoir compris cela car il m'a rendu fou depuis un moment maintenant.

+0

est le dictionnaire de ressources XAML, une page ou une définition d'application? –

+0

son fichier Generic.xaml Resource Dictionary. situé dans les thèmes s'ils ne sont pas liés et pointent directement sur le fichier cela fonctionne bien, mais dès que vous liez l'un ou l'autre, il ne fonctionnera que dans celui pointant directement sur le lien ne fonctionnera pas. y Build Action est "Page" – AppleDrink

Répondre

0

Silverlight XAML et WPF XAML n'ont pas le même espace de noms - ils ne sont donc pas directement réutilisables.


Mon erreur - vous avez raison - maintenant avec Silverlight 3, les espaces de noms sont les mêmes:

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml 

Quelle est l'action de construction dans le volet de la propriété pour le XAML?

+0

Silverlight 3 xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns: x = "http://schemas.microsoft.com/WinFX/2006/XAML " WPF xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns: x =" http://schemas.microsoft.com/winfx/2006/xaml " comme je l'ai dit si je change la silverlight de ne pas être lié et pointant directement sur le fichier, il fonctionne très bien, indépendamment de l'espace de noms – AppleDrink

+0

Build Action" Page ". – AppleDrink

Questions connexes