ListBox有2种行

时间:2013-01-30 10:34:38

标签: c# silverlight windows-phone-7

我使用此代码在ListBox

中创建XAML
<ListBox Margin="20,96,20,20" ItemsSource="{Binding Items}" Name="ResultsListBox" SelectionChanged="ResultsListBox_SelectionChanged">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding}" />
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

这是我插入字符串的代码(列表是String的List

ResultsListBox.ItemsSource = list;

现在我希望可以使用包含以下内容的项目数组创建此列表框: 字符串名称 字符串ID string imageurl

我可以将这个列表组合起来吗?

1 个答案:

答案 0 :(得分:0)

创建一个这样的类

public class SomeClass
{
   string name { get; set; }
   string id { get; set; }
   string imageurl { get; set; }
}

然后像这样更改你的xaml

<ListBox Margin="20,96,20,20" ItemsSource="{Binding Items}" Name="ResultsListBox" SelectionChanged="ResultsListBox_SelectionChanged">
  <ListBox.ItemTemplate>
     <DataTemplate>
        <StackPanel Orientation="Horizontal">
           <TextBlock Text="{Binding name}" />
           <TextBlock Text="{Binding id}" /> <!-- ignore id if you don't want -->
           <TextBlock Text="{Binding imageurl}" />
        </StackPanel>
     </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>

现在,生成一个集合或列表以绑定到列表框

List<SomeClass> list = new List<SomeClass>();
list.Add(new SomeClass() { name = "some name", id = "some id", imageurl = "some url" });
list.Add( .....);

ResultsListBox.ItemsSource = list;