Comment charger une image dans WPF en cours d'exécution?
Après quelques recherches, il semble que c'est assez compliqué de charger une image dans l'exécution pour une fenêtre WPF!?
Image image;
image = new Uri("Bilder/sas.png", UriKind.Relative);
????.Source = new BitmapImage(image);
Je vais essayer ce code, mais j'ai besoin d'aide pour le faire fonctionner. Je reçois des lignes rouges ci-dessous le code! Je me demande aussi si j'ai besoin d'ajouter un peu de code supplémentaire à l'intérieur du code XAML ou est en assez avec cette:
<Image Height="200" HorizontalAlignment="Left" Margin="12,12,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="350" />
Me demande parce que j'ai vu des exemples avec des sorces pour les images à l'intérieur des balises XAML.
EDIT:
Je suis en utilisant ce savoir:
var uri = new Uri("pack://application:,,,/sas.png");
var bitmap = new BitmapImage(uri);
image1.Source = bitmap;
Le code XAML:
<Grid Width="374">
<Image Height="200" HorizontalAlignment="Left" Margin="12,12,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="350" />
<Button Content="Start" Height="23" HorizontalAlignment="Left" Margin="12,226,0,0" Name="btnStart" VerticalAlignment="Top" Width="75" />
<Button Content="Land" Height="23" HorizontalAlignment="Left" Margin="287,226,0,0" Name="btnLand" VerticalAlignment="Top" Width="75" />
<ComboBox Height="23" HorizontalAlignment="Left" Margin="110,226,0,0" Name="cmbChangeRoute" VerticalAlignment="Top" Width="156" />
</Grid>
EDIT 2:
Ma réponse est "résolu", mais avec som de l'aide en dehors de Débordement de Pile. Ce code fonctionne:
BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri("pack://application:,,,/Resources/" + company + ".png");
image.EndInit();
image2.Source = image;
source d'informationauteur 3D-kreativ
Vous devez vous connecter pour publier un commentaire.
Dans WPF une image est généralement chargé à partir d'un Flux ou un Uri.
BitmapImage prend en charge à la fois et un Uri peut même être passé en argument du constructeur:
Si le fichier image se trouve dans un dossier local, vous auriez à utiliser une
file://
Uri. Vous pourriez créer une Uri à partir d'un chemin comme ceci:Si le fichier image est une ressource dans une assemblée, l'Uri doit suivre l' Pack De Uri régime:
Dans ce cas, la génération Visual Studio Action pour
sas.png
devrait êtreResource
.Une fois que vous avez créé un
BitmapImage
et ont également un Image contrôle, comme dans le XAMLvous assignez simplement BitmapImage à la
Source
propriété de contrôle de l'Image:Assurez-vous que votre
sas.png
est marqué commeBuild Action: Content
etCopy To Output Directory: Copy Always
dans son Visual StudioProperties
...Je pense que le code source C# va comme ceci...
et XAML devrait être
MODIFIER
Dynamiquement je pense que XAML fournirait le meilleur moyen de charger des Images ...
où
image.DataContext
eststring
chemin.Maintenant que vous définissez un autre contexte de données,
Image
serait automatiquement chargé lors de l'exécution.