je le code XAML suivant:Liaison d'un objet ImageSource directement à une source Image dans XAML/WPF?
<ListBox ItemsSource="{Binding Languages}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Image Source="{Binding LanguageIcon}" />
<Label Content="{Binding LanguageName}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
et dans la classe de modèle:
class Language {
public string LanguageName;
public ImageSource LanguageIcon;
}
ma classe modelview contient:
public List<Language> Languages;
qui est rempli avec:
Languages.Add(new Language("A",new BitmapImage(new Uri("Resources/a.ico",
UriKind.Relative))));
Languages.Add(new Language("B",new BitmapImage(new Uri("Resources/b.ico",
UriKind.Relative))));
Lorsque je lance le projet, tous les noms de mes langues sont affichés dans la liste, mais pas les icônes ... Pourquoi cela se produit-il et comment puis-je m'assurer que mes icônes sont affichées? (Je suis sûr que les ressources existent que les BitmapImages ne jettent pas d'erreurs)
Je pense que vous devriez revoir votre concept et utiliser un ENUM pour la langue. Dans xaml, vous pouvez utiliser des convertisseurs de valeurs pour convertir l'énumération en son nom et son icône. – thumbmunkeys
Le problème que vous rencontrez est le Image.Source sur l'objet est un objet ImageSource, mais quand il est exposé à travers Xaml c'est une chaîne pour un Uri. http://msdn.microsoft.com/en-us/library/system.windows.controls.image.source(v=VS.95).aspx – Agies