You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 21:39:17