【问题标题】:WPF combine icon and text in Listview with columnsWPF将Listview中的图标和文本与列结合起来
【发布时间】:2019-09-18 19:45:14
【问题描述】:

我在 WPF 中编写简单的文件资源管理器,我有 5 列(名称、扩展名、大小、日期、属性)的 Listview

XAML 看起来像这样:

<ListView Name="ListView" BorderThickness="2,0,2,0" BorderBrush="Gray" Height="Auto" Width="Auto" >
<ListView.View>
    <GridView>
        <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" Width="450"/>
        <GridViewColumn Header="Extension" DisplayMemberBinding="{Binding Extension}" Width="70"/>
        <GridViewColumn Header="Size" DisplayMemberBinding="{Binding Size}" Width="80"/>
        <GridViewColumn Header="Date" DisplayMemberBinding="{Binding Date}" Width="80"/>
        <GridViewColumn Header="Attributes" DisplayMemberBinding="{Binding Attributes}" Width="60"/>
    </GridView>
</ListView.View>

然后,我有五个属性的类 FileInfo,每个属性都通过 DisplayMemberBinding 绑定到列

public class FileInfo
{        
    public string Name { get; set; }
    public string Extension { get; set; }
    public string Size { get; set; }
    public string Date { get; set; }
    public string Attributes { get; set; }
}

var files = new List<FileInfo> { new FileInfo { Name = "Foo", Extension = ".sub", Date = "1.1.2015", Size = "3.05", Attributes = "H" } } //just as test
ListView.ItemsSource = files;

效果很好。

现在,在“名称”列中,我想将文件名与其关联的图标结合起来。我不知道,该怎么做。我不想为图标创建另一列,图标必须包含在名称列中。

有什么想法吗?有没有办法以编程方式执行此操作,还是我需要修改 XAML?

【问题讨论】:

标签: wpf listview icons


【解决方案1】:

您需要像这样为您的 GridViewColumn 创建 CellTemplate

<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" Width="450">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <Image Source="<Your Image Source>"/>
                <TextBlock Text="{Binding Name}"/>
            </StackPanel>
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    相关资源
    最近更新 更多