如何在Windows Phone App中的动态ListBox中构建动态ListBox

时间:2012-05-20 17:35:51

标签: c# windows-phone-7 listbox

我正在编写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;

谢谢!

0 个答案:

没有答案