如何在ListView中展示关联项目的图片?附现有实现代码
实现文件夹图片读取并在ListView展示项目及对应图片
我正尝试从文件夹中获取图片并存储到名为"Project"的类中,随后在ListView中展示这些图片,实现每个Project类对应的图片列表上方显示项目名称。
Project类代码
public class Project : INotifyPropertyChanged { private int id { get; set; } private string name { get; set; } private bool isChecked; public int ProjectId { get { return id; } set { id = value; NotifyPropertyChanged(); } } public string ProjectName { get { return name; } set { name = value; NotifyPropertyChanged(); } } public bool IsChecked { get { return isChecked; } set { isChecked = value; NotifyPropertyChanged(); } } public List<string> projectImages { get; set; } public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(string propertyName = "") { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } }
图片添加函数代码
private void menu_Open_Project(object sender, RoutedEventArgs e) { var imageList = GetImageFromDirectory.GetImageFiles(some directory path goes here); if (projects.Count > 0) { var lastIndexNumber = projects.Last().ProjectId + 1; projects.Add(new Project() { ProjectId = lastIndexNumber, ProjectName = "Project " + lastIndexNumber.ToString(), projectImages = imageList }); } }
ListView的XAML代码
<ListView Name="projectListView" Background="LightGray"> <ListView.View> <GridView ColumnHeaderContainerStyle="{StaticResource HeaderStyle}"> <GridViewColumn> <GridViewColumn.CellTemplate> <DataTemplate> <StackPanel Orientation="Vertical"> <Border BorderBrush="Black" BorderThickness="2, 2, 2, 2"> <Grid> <TextBlock Text="{Binding ProjectName}" Background="Gray"/> </Grid> </Border> <Border BorderBrush="Black" BorderThickness="2, 0, 2, 2"> <Grid> <Image/> </Grid> </Border> </StackPanel> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView>
内容的提问来源于stack exchange,提问作者DagaPop
相关产品推荐
相关产品推荐

