J'ai plusieurs images que je veux être incorporé à l'exe.
Lorsque je configure l'action Build Action sur Ressource incorporée .__, le code indique une erreur indiquant que la ressource n'est pas disponible et me demande de définir l'action Build sur Resource
J'ai essayé plusieurs méthodes différentes:
<ImageSource x:Key="Image_Background">YearBook;component/Resources/Images/darkaurora.png</ImageSource>
<ImageSource x:Key="Image_Background">Images/darkaurora.png</ImageSource>
<ImageSource x:Key="Image_Background">pack://application:,,,/Resources/Images/darkaurora.png</ImageSource>
Ce code se trouve dans un fichier de ressources . Mais aucun n'a fonctionné, ils jettent tous cette erreur:
Cannot convert the string 'pack://application:,,,/Resources/Images/darkaurora.png' into a 'System.Windows.Media.ImageSource' object. Cannot locate resource 'resources/images/darkaurora.png'. Error at object 'Image_Background' in markup file 'YearBook;component/Resources/ImageResources.xaml' Line 4 Position 6.
Et dans différents endroits du code, je reçois:
the file 'YearBook;component/Resources/Images/shadowdrop.png' is not a part of the project or its 'Build Action' property is not set to 'Resource'
Alors, qu'est-ce que je fais mal?
Lorsque vous définissez BuildAction à Ressource , il est utilisé comme ressource incorporée dans un assembly. Ou vous pouvez définir BuildAction à Content puis il sera regroupé dans le fichier .xap résultant . Vous pouvez utiliser l’une de ces BuildActions. En définissant BuildAction à Content , vous pouvez accéder à une image telle que: "/Resources/Images/darkaurora.png"
(doit commencer par une barre oblique). Et lorsque vous utilisez BuildAction Resource , vous pouvez accéder à l'image en tant que "/YearBook;component/Resources/Images/darkaurora.png"
(nom_assemblage; composant/chemin relatif). J'espère que cela aidera.
Définissez l'action de génération sur Ressource et non sur Ressource incorporée
ImageSource ne peut pas être instancié.
public abstract class ImageSource : Animatable,
IFormattable
Il y a cette petite abstract
qui va gâcher votre journée. Votre xaml tente en réalité d’instancier une instance de ImageSource, puis affectez la valeur de l’élément (votre Uri, dans ce cas) à une propriété marquée avec le ContentPropertyAttribute (??) à l’aide du convertisseur pouvant être situé pour convertir la chaîne un objet (encore, ??).
Je pense que vous voulez un BitmapSource .
<BitmapImage
x:Key="Image_Background"
UriSource="/Images/darkaurora.png" />