Ajouter l'image à la zone de liste
J'ai quelques images avec du texte, j'ai besoin d'afficher l'image avec le texte dans un contrôle listbox.
La navigation sur google je suis tombé sur cette classe d'exemple,
public class Customer
{
public string Fname;
public string Lname;
public Customer(string firstName, string lastName)
{
Fname = firstName;
Lname = lastName;
}
public override string ToString()
{
return Fname + " " + Lname;
}
}
lstCustomers.Items.Add(new Customer("Foo","Bar"));
Le code ci-dessus fonctionne très bien comme elle ne retourne string, comment puis-je retourner une image et d'un string ensemble, de sorte qu'il est ajouté à la zone de liste?
En Ce Qui Concerne Meilleur
@nand
Ressemble l'on se réfère à WPF? Ou WinForms?
Je suggère l'ajout de la balise appropriée à préciser.
Je suggère l'ajout de la balise appropriée à préciser.
OriginalL'auteur Anand Shah | 2009-03-24
Vous devez vous connecter pour publier un commentaire.
Il suffit d'utiliser un
DataTemplate
pour afficher vos objets dans leListBox
.Créer un objet de données qui contient les propriétés de la chaîne et une Image de la propriété:
Créer un
DataTemplate
pour afficher ce:Maintenant, ajoutez le
Img
éléments (ou vos objets de données) à laListBox
comme suit:Est-ce de travailler pour winforms ainsi, pas de doute sur le datatemplate et comment créer ce sur un formulaire? Merci.
Non cela ne fonctionne pas pour les Windows Forms. Fenêtre Formes n'ont pas DataTemplates ou XAML. Pour les Windows Forms vous aurez probablement besoin d'écrire votre propre code pour générer des commandes pour vos éléments de données.
OriginalL'auteur Josh G
Vous ne pouvez pas (sans le piratage autour) placer les images dans des listes déroulantes.
Vous pouvez les mettre dans les ListViews.
Vous avez besoin pour mettre votre image(s) dans un composant ImageList, puis fixez la ImageList à votre liste. Bien sûr, vous pouvez encapsuler votre image dans votre classe en ajoutant une Image de la propriété et en l'ajoutant à la ImageList.Collection d'éléments.
Ensuite, pour chaque ListViewItem dans la Liste, définissez la propriété ImageIndex à l'index de l'image dans la liste.
Tout cela peut être fait à l'aide de la designer.
OriginalL'auteur Program.X
la première à mettre en ValueMemeber propriétés de l'Image (ici, c'est la Chaîne de propriété trop) et DrawMode à OwnerDrawVariable et de redéfinir DrawItem
OriginalL'auteur Lidza
Vous pouvez ajouter bitmapsource objets à un listboxitem et l'ajouter à la zone de liste.
Vérifiez ce fil.
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/f6b7f985-f11b-4d7f-845a-44851360ee1f/
OriginalL'auteur Anirudh Goel
En réponse à la question de Abbassi - mais j'ai une erreur "local" est un non déclarées de l'espace de noms
Consulter les suivantes:
Ajouter "local" espace de noms dans la Fenêtre de l'étiquette.
<DataTemplate DataType="{x:Type local:Img}">
. Mais j'ai mis l'Img classe dans l'espace de noms TheseusAndTheMinotaur.OriginalL'auteur Karthik_Jram