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

构建程序时ListView控件无法显示数据的技术问题咨询

解决ListView无法显示数据的问题

我来帮你排查下这个问题,大概率是这几个地方没处理对:

  • 先改ItemsSource的绑定方式
    你现在写的ItemsSource="items"是把字符串"items"当成了数据源,这完全不对哦!得改成绑定语法,让ListView去读取你后台的集合数据:

    <ListView Name="alkoholCjenik" ItemsSource="{Binding items}" ScrollViewer.HorizontalScrollBarVisibility="Hidden" Background="#FF4AC1A7" BorderBrush="{x:Null}" Foreground="#FF042271" FontFamily="Sitka Small">
    
  • 必须给GridView添加列
    你的GridView里是空的,就算有数据也没地方展示啊!得给每个要显示的属性定义列,比如假设你的数据对象有Naziv(名称)和Cijena(价格)这两个属性,就这么写:

    <ListView.View>
        <GridView>
            <GridViewColumn Header="Naziv" DisplayMemberBinding="{Binding Naziv}" Width="150"/>
            <GridViewColumn Header="Cijena" DisplayMemberBinding="{Binding Cijena}" Width="100"/>
        </GridView>
    </ListView.View>
    

    记得把Naziv和Cijena换成你实际数据类里的属性名。

  • 用ObservableCollection存数据
    后台的items别用普通的List<T>,换成ObservableCollection<T>,这样数据添加、删除时UI会自动更新。比如后台代码这么写:

    // 先定义你的数据类
    public class AlcoholItem
    {
        public string Naziv { get; set; }
        public double Cijena { get; set; }
    }
    
    // 窗口类里的集合
    public ObservableCollection<AlcoholItem> items { get; set; }
    
    public YourWindow()
    {
        InitializeComponent();
        // 初始化集合并加测试数据
        items = new ObservableCollection<AlcoholItem>();
        items.Add(new AlcoholItem { Naziv = "Craft Beer", Cijena = 7.99 });
        // 把当前窗口设为数据上下文,让ListView能找到items
        this.DataContext = this;
    }
    
  • 检查ItemContainerStyle的语法
    你写的<EventSet应该是<EventSetter>吧?如果这部分语法写错了,也可能导致控件异常,没法正常显示数据,记得把这部分补全写对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:26:21