Ana*_*hah 4 c# wpf listbox image return-value
我有一些带有一些文字的图像,我需要在列表框中显示带有相关文字的图像.
浏览谷歌我遇到了这个示例课程,
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"));
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,因为它只返回字符串,如何将图像和字符串一起返回,以便它被添加到列表框?
最好的祝福
@nand
只需使用a DataTemplate来显示你的对象ListBox.
创建一个包含字符串属性和Image属性的数据对象:
public class Img
{
public Img(string value, Image img) { Str = value; Image = img; }
public string Str { get; set; }
public Image Image { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
创建一个DataTemplate以显示:
<ListBox x:Name="lstBox">
<ListBox.ItemTemplate>
<DataTemplate DataType="{x:Type local:Img}">
<StackPanel>
<TextBlock Margin="3" Text="{Binding Str}"/>
<ContentControl Margin="3" Content="{Binding Image}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
现在添加Img项目(或您的数据对象),ListBox以便:
lstBox.Items.Add(new Img("Value", myImage));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35358 次 |
| 最近记录: |