C# 将列表项添加到可观察集合列表
您好,我正在尝试将列表项添加到可观察的集合列表中。 我有一个模型,可以在其中设置列表属性C# 将列表项添加到可观察集合列表,c#,uwp,uwp-xaml,C#,Uwp,Uwp Xaml,您好,我正在尝试将列表项添加到可观察的集合列表中。 我有一个模型,可以在其中设置列表属性 public class DisplayList { public List<string> listItem { get; set; } } 公共类显示列表 { 公共列表列表项{get;set;} } 然后在我的主页上我有一个可观察的收藏 private ObservableCollection<DisplayList> ListDisplay; 私有可观察采集列表显
public class DisplayList
{
public List<string> listItem { get; set; }
}
公共类显示列表
{
公共列表列表项{get;set;}
}
然后在我的主页上我有一个可观察的收藏
private ObservableCollection<DisplayList> ListDisplay;
私有可观察采集列表显示;
我在页面加载时实例化了它
public MainPage()
{
this.InitializeComponent();
location = new ObservableCollection<storeLocations>();
ListDisplay = new ObservableCollection<DisplayList>();
// location = manager.getStoreLocations();
var dbList = db.Bales.Where(b => b.Location != null).Select(b => b.Location).ToList();
InitialLoad(dbList, null);
}
public主页()
{
this.InitializeComponent();
位置=新的ObservableCollection();
ListDisplay=新的ObservableCollection();
//location=manager.getStoreLocations();
var dbList=db.Bales.Where(b=>b.Location!=null);
InitialLoad(dbList,null);
}
我正在使用建议框,希望根据所做的选择筛选结果。过滤后的结果会显示在屏幕上的列表中,这就是我遇到的一些问题。我让它显示在屏幕上,但它正在显示
System.Collection.Generic.List的1[S…”而不是列表中的实际项
我认为我没有正确地列举,但似乎无法用我的方式指出错误
这是根据建议框的选择填充列表的方法
public ObservableCollection<DisplayList>BaleList(List<string> CatNo)
{
foreach (var item in CatNo)
{
ListDisplay.Add(new DisplayList {listItem = CatNo.ToList()});
}
lstBales.IsItemClickEnabled = true;
return ListDisplay;
}
public-observeCollectionBaleList(列表类别号)
{
foreach(CatNo中的var项目)
{
添加(新的显示列表{listItem=CatNo.ToList()});
}
lstBales.IsItemClickEnabled=true;
返回列表显示;
}
它接收一个从建议框中获取的列表类型的参数。因此,参数值基本上就是我想在屏幕上的列表中显示的。例如,CP1354-2和第二项CP1355-3,因此这些值进入方法。我想将这些值应用到可观察的集合中,因为listbox控件绑定到可观察的c收集
编辑
在XAML中添加绑定
<ListView x:Name="lstBales" ItemsSource="{x:Bind ListDisplay}">
<ListView.ItemTemplate>
<DataTemplate x:Name="TemplateListName" x:DataType="data:DisplayList">
<Grid>
<TextBlock Text="{x:Bind listItem}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
和
您正在将列表绑定到一个
TextBlock
,由于该ToString()
被隐式调用,您无法获得实际值。根据您的要求,您可以将listItem
更改为字符串,或创建嵌套的ListView
您正在将List类型的对象绑定到TextBlock。而TextBlock.Text需要字符串。因此,如果我将对象从List类型更改为type字符串应该可以解决我的问题吗?是的。也请看一看,感谢您为我指明了正确的方向。在从列表更改为字符串之后,我仍然遇到了相同的问题,但经过一点擦伤之后,我实际上在方法上犯了一个错误。在foreach循环中…我将listItem=CatNo.ToList()它应该是ListItem=item.ToString,而不是CatNo输入参数…因此,除了关于Datatemplate的建议之外,还可以对其进行排序。谢谢大家。感谢更改为string,并且在foreach循环中也有问题。我将ListItem=CatNo设置为,但应该将其设置为item。。感谢您的帮助
ListDisplay.Add(new DisplayList {listItem = CatNo.ToList()});