首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在列表中绑定列表

如何在列表中绑定列表
EN

Stack Overflow用户
提问于 2014-03-13 22:22:47
回答 3查看 120关注 0票数 0

我想显示另一个列表中的列表。窗户电话。这张照片显示了我想要的东西。像在这里

代码语言:javascript
复制
<Grid x:Name="Layout">
    <TextBox Height="80" Width="340" InputScope="Search" HorizontalAlignment="Left" VerticalAlignment="Top"/>
    <Image Source="/Assets/pesquisa.png" Height="76" Width="76" HorizontalAlignment="Right" VerticalAlignment="Top"/>

    <phone:LongListSelector Margin="0,80,0,0" x:Name="Conteudo" SelectionChanged="GoToPageDetalhes">
        <phone:LongListSelector.ItemTemplate>
            <DataTemplate>
                <StackPanel>
                    <TextBlock Text="{Binding Path=Nome}" Margin="10,5,0,0" />
                    <TextBlock Text="{Binding Alimentos}" Margin="10,5,0,0" />
                </StackPanel>
            </DataTemplate>
        </phone:LongListSelector.ItemTemplate>
    </phone:LongListSelector>
</Grid>

我很感谢你的帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-13 23:13:03

您需要做的就是为第一个DataTemplate定义一个LongListSelector

假设您有一个国家列表,每个国家都包含一个城市列表:

代码语言:javascript
复制
public class Country
{
    public Country(string name)
    {
        Name = name;
        Cities = new List<City>();
    }

    public string Name { get; set; }
    public List<City> Cities { get; set; }
}

public class City
{
    public City(string name)
    {
        Name = name;
    }

    public string Name { get; set; }
}

public partial class MainPage : PhoneApplicationPage
{
    public MainPage()
    {
        InitializeComponent();
        Countries = new ObservableCollection<Country>(CreateCountries());
        DataContext = this;
    }

    public ObservableCollection<Country> Countries { get; set; }
}

您可以为包含LongListSelector的国家创建一个LongListSelector,其城市如下:

代码语言:javascript
复制
<phone:LongListSelector x:Name="countries" ItemsSource="{Binding Countries}">
  <phone:LongListSelector.ItemTemplate>
    <DataTemplate>
      <StackPanel>
        <TextBlock Text="{Binding Name}"/>
        <phone:LongListSelector x:Name="cities" ItemsSource="{Binding Cities}">
          <phone:LongListSelector.ItemTemplate>
            <DataTemplate>
              <TextBlock Text="{Binding Name}"/>
            </DataTemplate>
          </phone:LongListSelector.ItemTemplate>
        </phone:LongListSelector>
      </StackPanel>
    </DataTemplate>
  </phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>

不过,我非常怀疑这是否会提供一个用户友好的界面。

票数 0
EN

Stack Overflow用户

发布于 2014-03-14 09:33:47

我认为您应该查看Windows工具包中的ExpanderView。好像这就是你要找的东西。

这里是一些正确使用它的教程。

票数 0
EN

Stack Overflow用户

发布于 2014-03-14 13:55:24

谢谢各位,这份名单很管用。ExpanderView也会很有用。谢谢

代码语言:javascript
复制
<Grid x:Name="Layout" >
                <TextBox Height="80" Width="340" InputScope="Search" HorizontalAlignment="Left" VerticalAlignment="Top"/>
                <Image Source="/Assets/pesquisa.png" Height="76" Width="76" HorizontalAlignment="Right" VerticalAlignment="Top"/>

                <phone:LongListSelector x:Name="Conteudo" >
                    <phone:LongListSelector.ItemTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <TextBlock Text="{Binding Nome}"/>
                                <phone:LongListSelector x:Name="cities" ItemsSource="{Binding Alimentos}">
                                    <phone:LongListSelector.ItemTemplate>
                                        <DataTemplate>
                                            <TextBlock Text="{Binding alimentosDoenca}"/>
                                        </DataTemplate>
                                    </phone:LongListSelector.ItemTemplate>
                                </phone:LongListSelector>
                            </StackPanel>
                        </DataTemplate>
                    </phone:LongListSelector.ItemTemplate>
                </phone:LongListSelector>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22392260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档