【问题标题】:How to display in binding a list within a list如何在列表中绑定列表中显示
【发布时间】:2014-03-13 22:22:47
【问题描述】:

我想显示另一个列表中的列表。视窗电话。 图片显示了我想要的项目。 Image here

<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>

感谢您的帮助。

【问题讨论】:

    标签: xaml windows-phone-8 binding longlistselector


    【解决方案1】:

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

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

    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,城市如下:

    <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>
    

    我严重怀疑这是否会呈现一个用户友好的界面。

    【讨论】:

      【解决方案2】:

      我认为您应该查看 Windows Phone Toolkit 中的 ExpanderView。看起来这正是您要搜索的内容。

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

      【讨论】:

        【解决方案3】:

        谢谢大家,它的工作很长。 ExpanderView 也将很有用。谢谢

        <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>
        

        【讨论】:

          猜你喜欢
          • 2019-02-13
          • 1970-01-01
          • 1970-01-01
          • 2021-08-23
          • 1970-01-01
          • 2017-03-19
          • 2016-09-11
          • 2016-01-29
          • 1970-01-01
          相关资源
          最近更新 更多