将二维数组放入列表框中

所以我有这个arrays

string[,] cars = new String[2, 2] { { "VW Golf GTI", "30000" }, { "Porsche GT3", "300000" }, { "Porsche Cayenne", "80000" }, { "BMW M6", "90000" } }; 

并希望将所有内容放在列表框中,我认为这样可行,但它不会:/

 lstBoxMarket.Items.AddRange(cars); 

现在我如何将所有内容放入列表框中的格式

车 – 价格?

试试这个:

 string[,] cars = new string[4, 2] { { "VW Golf GTI", "30000" }, { "Porsche GT3", "300000" }, { "Porsche Cayenne", "80000" }, { "BMW M6", "90000" } }; for (int i = 0; i < cars.GetLength(0); i++) { lstBoxMarket.Items.Add(cars[i, 0] + " - " + cars[i, 1]); } 

您的cars版本当前不会编译,因为您指定了数组初始值设定项的常量(2行2列),但您的数据有4行。

更好的方法是将ItemsSource绑定到数据模型Car类型的新类的ObservableCollection

你的看法

的.xaml

              

你的模型Car.cs

 public class Car { public string Name { get; set; } public int Id { get; set; } } 

您的视图模型将具有将绑定到ItemsSource的Collection

CarViewModel.cs

 public ObservableCollection DataCollection { get; set; } DataCollection = new ObservableCollection { new Car { Name = "VW Golf GTI", Id = 30000 }, new Car { Name = "Porsche GT3", Id = 30000 }, new Car { Name = "Porsche Cayenne", Id = 80000 }, new Car { Name = "BMW M6", Id = 90000 } }; 

使用DataSource属性加载多维数组的数据。

 listBox1.MultiColumn = true; listBox1.DataSource = cars;