0

我正在制作一个嵌套列表框,主要是因为我需要在一个列表框中绑定多个类,而我无法做到这一点,因此是嵌套列表框。

这是我在 XAML 页面中所做的:

<ListBox Name="abcd" Margin="10,0,30,0" ItemsSource="{Binding Title}"     SelectionChanged="ListBox_SelectionChanged" Height="486" Width="404" FontSize="20">
                <ListBox.ItemTemplate>
                    <DataTemplate >
                        <StackPanel Margin="0,0,10,0" Width="380" Height="140">
                            <Grid  >
                            <TextBlock Text="{Binding cdata}" TextWrapping="Wrap" FontSize="{StaticResource PhoneFontSizeLarge}" />
                                <ListBox Name="ab" ItemsSource="{Binding Description}" FontSize="14">
                                    <ListBox.ItemTemplate>
                                        <DataTemplate>
                                            <StackPanel Width="380" Height="100">
                                                <Grid>
                                                   <TextBlock Text="{Binding cdata}" TextWrapping="Wrap" FontSize="{StaticResource PhoneFontSizeLarge}" />
                                                </Grid>
                                            </StackPanel>
                                        </DataTemplate>
                                    </ListBox.ItemTemplate>
                                </ListBox>
                            </Grid>
                        </StackPanel>                            
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

其中ListBox“abcd”必须与类标题和“ab”绑定到类Description。这两个类只有一个字符串字段“cdata”。

在 xaml.cs 我做:

abcd.ItemsSource=from article in root.openfooty.news.article
                          select new Classes.Title 
                             { 
                                  cdata = article.title.cdata
                             };

       ab.ItemSource = from article in root.openfooty.news.article
                            select new Classes.Description
                              { 
                                  cdata = article.description.cdata
                              };

与“abcd”绑定工作正常,但与“ab”它说“nam ab 在当前上下文中不存在”

任何帮助将非常感激。感谢:D

4

1 回答 1

0

你为什么不写一个这样的类

public class TitleDescription
{
    public string title { get; set; }
    public string description { get; set; }
}

并尝试数据绑定?

abcd.ItemsSource=from article in root.openfooty.news.article
                      select new Classes.TitleDescription 
                         { 
                              title = article.title.cdata,
                              description = article.description.cdata
                         };

并且只有一个这样的列表框

<ListBox Name="abcd" Margin="10,0,30,0" SelectionChanged="ListBox_SelectionChanged" Height="486" Width="404" FontSize="20">
            <ListBox.ItemTemplate>
                <DataTemplate >
                    <StackPanel Margin="0,0,10,0" Width="380" Height="140">
                        <Grid  >
                            <TextBlock Text="{Binding description}" TextWrapping="Wrap" FontSize="{StaticResource PhoneFontSizeLarge}" />
                            <TextBlock Text="{Binding title}" TextWrapping="Wrap" FontSize="{StaticResource PhoneFontSizeLarge}" />
                        </Grid>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
于 2012-12-06T15:26:01.097 回答