所以我有这个数组
string[,] cars = new String[2, 2] {
{ "VW Golf GTI", "30000" },
{ "Porsche GT3", "300000" },
{ "Porsche Cayenne", "80000" },
{ "BMW M6", "90000" }
};
并希望将所有内容放入列表框中,我认为这样可行,但事实并非如此:/
lstBoxMarket.Items.AddRange(cars);
现在我如何以格式
将所有内容放入列表框中车 - 价格?
答案 0 :(得分:2)
试试这个:
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行。
答案 1 :(得分:2)
更好的方法是将ItemsSource绑定到一个新类的ObservableCollection数据模型Car类型
您的观点
<强>的.xaml 强>
<StackPanel>
<ListBox ItemsSource="{Binding DataCollection}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" />
<TextBlock Text=" - "/>
<TextBlock Text="{Binding Id}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
你的模特 的 Car.cs 强>
public class Car
{
public string Name { get; set; }
public int Id { get; set; }
}
您的视图模型将具有将绑定到ItemsSource
的Collection<强> CarViewModel.cs 强>
public ObservableCollection<Car> DataCollection { get; set; }
DataCollection = new ObservableCollection<Car>
{
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 }
};
答案 2 :(得分:1)
USE DataSource
属性用于加载多维数组的数据。
listBox1.MultiColumn = true;
listBox1.DataSource = cars;