Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xaml 将文件绑定到longlistselector_Xaml_Binding_Longlistselector - Fatal编程技术网

Xaml 将文件绑定到longlistselector

Xaml 将文件绑定到longlistselector,xaml,binding,longlistselector,Xaml,Binding,Longlistselector,尝试学习WinPhone8,跟随在线教程。在教程中,这个家伙使用列表框来显示文件,这对我来说很好 然而,我认为我们应该使用LongListSelector,所以我添加了它;但是什么也没有出现 如果我首先将LongListSelector放在标记中,那么当我在emulator中运行应用程序时,两者都不会显示,因此我认为绑定LongListSelector会出现异常。我不明白为什么 这很简单,单击一个按钮,读取目录中的文件,并将其显示出来 <StackPanel x:Name=

尝试学习WinPhone8,跟随在线教程。在教程中,这个家伙使用列表框来显示文件,这对我来说很好

然而,我认为我们应该使用LongListSelector,所以我添加了它;但是什么也没有出现

如果我首先将LongListSelector放在标记中,那么当我在emulator中运行应用程序时,两者都不会显示,因此我认为绑定LongListSelector会出现异常。我不明白为什么

这很简单,单击一个按钮,读取目录中的文件,并将其显示出来

        <StackPanel x:Name="ContentPanel" Margin="12,0,12,0" Grid.Row="1" >
        <Button Content="Show files" Click="Button_Click_1"/>

        <ListBox x:Name="lb">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel>
                        <TextBlock Text="{Binding Name}" />
                        <Image x:Name="img" Source="{Binding Path}" Width="100" Height="100"/>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

        <phone:LongListSelector HorizontalAlignment="Left" 
                                x:Name="llsFiles" 
                                ItemTemplate="{StaticResource FilesDataTemplate}"
                                />

    </StackPanel>
试试这个

//add this declaration
List<FirstList> source = new List<FirstList>();
 public class FirstList
    {
        [DataMember]
        public string cItem { get; set; }

        public FirstList(string item)
        {
            this.cItem = item;
        }
    }

你一定要把它装订好

我想我无意中发现了这件事,但还不明白。出于某种原因,取消“水平对齐”属性会使列表渲染。不确定是否发生绑定,但输出会一直挤压到左侧,或者它实际上使绑定失败。
    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
        GetPackageFiles();
    }

    private async Task GetPackageFiles()
    {
        //Get the folder where the app is installed on the phone.
        var installFolder = Package.Current.InstalledLocation;
        var imagesFolder =  await installFolder.GetFolderAsync("Images");

        var fileList = await imagesFolder.GetFilesAsync();

        lb.ItemsSource = fileList;

        llsFiles.ItemsSource = fileList.ToList();
    }
//add this declaration
List<FirstList> source = new List<FirstList>();
 public class FirstList
    {
        [DataMember]
        public string cItem { get; set; }

        public FirstList(string item)
        {
            this.cItem = item;
        }
    }
source.Add(new FirstList(fileList.ToString());