wpf - 从 2 个不同的源集合创建一个类集合
问题描述
编辑:仍然坚持这一点。期间从事其他工作。我很欣赏我已经得到的答案,但它并没有真正回答我的问题。这对我来说变得更加复杂。只是想听听是否有可能按照我的想法进行,以及我将如何做的一些指示。将不胜感激
我的目标是在 ItemsControl 中列出国家/地区标志及其名称/代码。
我是编程、C# 和 WPF 的新手。经过一番努力,我设法获得了 2 个工作系列。作为测试,我成功地在 WPF 中绑定了 ImageSource 列表,并在我的 UniformGrid 中看到了所有图片。我还可以输出所有的国家名称和代码。
从 Json 文件中填充代码和名称的国家/地区列表国家:
public void LoadJson() { // Convert van byte[] naar stream. Json format: "Code", "Name" MemoryStream stream = new MemoryStream(Properties.Resources.country_data_json); using (StreamReader r = new StreamReader(stream)) { string json = r.ReadToEnd(); List<Country> countries = JsonConvert.DeserializeObject<List<Country>>(json); } }
包含所有图片的 ImageSource 列表:
public void LoadFlags() { string[] files = GetResourcesUnder("Resources"); Array.Sort(files); foreach (var file in files) { string uriPath = "pack://application:,,,/Resources/" + file; //Console.WriteLine(file); Uri uri = new Uri(uriPath, UriKind.RelativeOrAbsolute); StreamResourceInfo info = Application.GetResourceStream(uri); var bitmapImage = new BitmapImage(); bitmapImage.BeginInit(); bitmapImage.CacheOption = BitmapCacheOption.OnLoad; bitmapImage.StreamSource = info.Stream; bitmapImage.EndInit(); bitmapImage.Freeze(); List<ImageSource> vlaggen = new List<ImageSource>(); vlaggen.Add(bitmapImage); } }
我创建了这两个类:
public class Countries
{
public ObservableCollection<Country> countryList = new ObservableCollection<Country>();
public Countries()
{
}
}
public class Country
{
public string Code { get; set; }
public string Name { get; set; }
public ImageSource Vlag { get; set; }
}
}
现在我想在我的 Country 类中合并这两个集合,这样我就可以轻松地绑定到它。我真的想不通,因为我的知识有限,我很难用谷歌搜索它。我不知道要寻找什么。
我不明白我怎么可能用 3 个属性中的 2 个填充我的国家类型列表 Country 并且它正在工作,因为我可以输出国家名称或代码,但是当我尝试输出图像时出现错误。因为它当然还是空的。
是否可以仅填充我的国家列表(ImageSource Vlag)的空白部分。“代码”和“名称”已填充。
我尝试从 ObservableCollection 更改为通用列表。这样我就可以使用 .InsertRange。但是由于我认为的类型,我无法在列表中插入位图图像......
我希望我的问题很清楚。当你是新手时,很难问一个聪明的问题;)
解决方案
推荐阅读
- javascript - 今天是我想要的工作日时如何显示段落
- amazon-web-services - AWS CDK - 无法在 Lambda 中担任细粒度授权角色
- python - 计算 input_list 中以 'S' 开头的单词数
- php - 两表比较和列出php
- postgresql - SQL 错误 [42601]:错误:在 Dbeaver PostgreSQL 编辑器中的“选择”处或附近出现语法错误
- python - 相当于 Python 中 R 的 ifelse
- javascript - 在 React.js 中更新数组并渲染新数据
- node.js - 创建节点红色泊坞窗图像时出错
- python - 如果只运行一个语句,为什么一个类会打印对象?
- reactjs - 我有一个函数,我想在任务完成后返回多个对象(反应原生)