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

WPF中ListViewItem无法使用Add/SubItems.Add方法问题求助

解决WPF中ListViewItem无法使用Add/SubItems.Add的问题

WPF的ListViewItem和Windows Forms中的实现完全不同,没有Add或SubItems.Add方法——这是因为WPF采用数据驱动的设计思路,推荐通过数据绑定或直接向ListView.Items集合添加数据项来实现内容展示,以下是具体解决方案:

1. 标准解决方案:数据绑定(推荐)

这是WPF的最佳实践,步骤清晰且便于维护:

第一步:定义数据实体类

创建与数据库字段对应的实体类,示例:

public class DataEntity
{
    // 替换为你的实际数据库字段属性
    public int Id { get; set; }
    public string Title { get; set; }
    public DateTime CreateTime { get; set; }
}

第二步:在XAML中配置ListView列

给ListView添加GridView,指定每列要绑定的实体属性:

<ListView x:Name="dataListView">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="ID" DisplayMemberBinding="{Binding Id}" Width="50"/>
            <GridViewColumn Header="标题" DisplayMemberBinding="{Binding Title}" Width="200"/>
            <GridViewColumn Header="创建时间" DisplayMemberBinding="{Binding CreateTime}" Width="150"/>
        </GridView>
    </ListView.View>
</ListView>

第三步:绑定数据源

从数据库获取数据后,将数据集合设置为ListView的数据源,示例:

public MainWindow()
{
    InitializeComponent();
    // 从数据库获取数据(替换为你的查询逻辑)
    List<DataEntity> dataList = GetDataFromDatabase();
    // 直接设置ItemsSource
    dataListView.ItemsSource = dataList;
    // 若需要动态增删数据自动更新UI,可改用ObservableCollection
    // dataListView.ItemsSource = new ObservableCollection<DataEntity>(dataList);
}

private List<DataEntity> GetDataFromDatabase()
{
    // 此处编写你的数据库查询代码,返回数据列表
}

2. 手动创建ListViewItem(过渡方案,不推荐)

如果要模仿WinForms的手动添加方式,可通过给ListViewItem.Content添加容器控件实现多列展示:

// 创建ListViewItem实例
ListViewItem item = new ListViewItem();
// 创建横向布局的容器
StackPanel panel = new StackPanel { Orientation = Orientation.Horizontal };
// 添加各列内容
panel.Children.Add(new TextBlock { Text = "1", Width = 50 });
panel.Children.Add(new TextBlock { Text = "测试数据", Width = 200 });
panel.Children.Add(new TextBlock { Text = DateTime.Now.ToString(), Width = 150 });
// 将容器设为ListViewItem的内容
item.Content = panel;
// 把项添加到ListView的Items集合
dataListView.Items.Add(item);

注意:这种方式违背WPF的数据驱动设计,后续维护和扩展成本高,仅作为临时过渡使用。

内容的提问来源于stack exchange,提问作者Minimumspace

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 10:32:07