C# UWP中从类对象列表创建ListView重复显示同一对象问题
解决ListView重复显示同一行的问题
嗨,我一眼就瞅出问题所在啦!你遇到的ListView重复显示第一行记录的问题,核心原因是你在循环外部只创建了一个ProductsNumber实例,之后在循环里反复修改这个实例的属性,再把它添加到列表中。
这就相当于你只有一个空盒子,每次循环往里面装不同的产品信息,然后把这个盒子连续三次放进你的列表里。最后打开列表看的时候,所有项指向的都是同一个盒子,自然显示的都是这个盒子里的内容(可能是你看到的第一行状态)。
修复后的代码示例
List<ProductsNumber> ProductsNumberList = new List<ProductsNumber>(); // 把ProductsNumber的实例创建移到循环内部,每次循环生成新的独立对象 for (int i = 0; i <= otherlist.Count - 1; i++) { ProductsNumber _ProductsNumber = new ProductsNumber(); _ProductsNumber.ProdId = otherlist[i].ProdName.ToString(); // 在这里补充你原本要赋值的其他属性,比如价格、数量等 ProductsNumberList.Add(_ProductsNumber); }
关键说明
每次循环都要新建一个ProductsNumber对象,这样列表里的每一项都会持有独立的产品数据引用,ListView就能正确显示三条不同的产品记录了。
内容的提问来源于stack exchange,提问作者positive perspective
相关产品推荐
相关产品推荐

