我正在编写Windows Phone应用程序,我需要构建按类别组织的公司列表。我得到了在运行时按类别组织的公司列表。
我以前没有Silverlight的经验,经过多次尝试和大量的例子我看到我在listbox中找到了一个使用listBox的例子,但c#中没有代码(只有xaml代码)。 当我运行我的程序时,我得到的只是类别列表。当我尝试绑定公司列表时,我可能有错误。
如果有人告诉我我的代码有什么问题,我会很高兴。我正在研究它很多天,我甚至不知道如何弄明白。
这与在listbox中使用listBox的示例类似,我需要知道C#中的代码是如何需要的 example
这是我的代码:
<ListBox x:Name="CategoriesList" HorizontalAlignment="Left" Height="541" Margin="-12,87,0,0" Width="480" Background="White">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Grid Height="53" HorizontalAlignment="Left" Name="gridCategory1" Width="480" FlowDirection="RightToLeft" Background="#FF1A0D5E">
<TextBlock Text="{Binding CategoryName}" Height="53" HorizontalAlignment="Left" Margin="25,0,0,0" Name="txtBlCategoryName1" Width="256" FontSize="30" FontWeight="Bold" Foreground="White" />
</Grid>
<ListBox ItemsSource="{Binding Companies}" HorizontalAlignment="Left" Width="480" Background="White">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Height="77" HorizontalAlignment="Left" Width="480">
<Image Height="63" HorizontalAlignment="Left" Margin="392,7,0,0" Name="imgConpamyIcon" Stretch="Fill" VerticalAlignment="Top" Width="70" Source="{Binding CompanyIcon}" />
<TextBlock Height="50" Margin="157,0,101,0" Name="txtBCompanyName" Text="{Binding CompanyName}" VerticalAlignment="Top" Foreground="Black" FontWeight="Bold" FontSize="25" FlowDirection="RightToLeft" />
<Image Height="27" HorizontalAlignment="Left" Margin="280,38,0,0" Name="imgCompanyStars" Stretch="Fill" VerticalAlignment="Top" Width="100" Source="{Binding CompanyStars}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
蚂蚁c#代码是:
List<Category> categoryList = new List<Category>();
for (int i = 0; i < 10; i++)
{
String cName1 = "category " i.ToString();
List<Company> TempCompanies1 = new List<Company>();
for (int j = 0; j < 6; j++)
{
String icon = @"/WPAppSherutNet;component/IconsFol/Info_Facebook.png";
String name = "company" + i.ToString();
String star = j.ToString();
TempCompanies1.Add(new Company(icon, name, star));
}
categoryList.Add(new Category(cName1, TempCompanies1));
}
CategoriesList.ItemsSource = categoryList;
谢谢!