Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
C# uwp gridview项源甚至未执行_C#_Gridview_Binding_Uwp Xaml_Itemsource - Fatal编程技术网

C# uwp gridview项源甚至未执行

C# uwp gridview项源甚至未执行,c#,gridview,binding,uwp-xaml,itemsource,C#,Gridview,Binding,Uwp Xaml,Itemsource,我正在使用新的preview sdk 16190的创建者秋季更新,如BUILD 2017中所述 我在MVVM模式下绑定了一个gridview,但它不起作用,所以我将它简化为直接代码隐藏以了解真正的问题,我甚至使用了一个断点,看起来断点从未命中,该行从未执行,所以gridview项源仍然为空 我还尝试了gridview项源上的x:Bind,这也不起作用。这真的令人沮丧,因为它没有任何意义。下面是我的代码 public VideoLibraryPage() { InitializeCompo

我正在使用新的preview sdk 16190的创建者秋季更新,如BUILD 2017中所述

我在MVVM模式下绑定了一个gridview,但它不起作用,所以我将它简化为直接代码隐藏以了解真正的问题,我甚至使用了一个断点,看起来断点从未命中,该行从未执行,所以gridview项源仍然为空

我还尝试了gridview项源上的x:Bind,这也不起作用。这真的令人沮丧,因为它没有任何意义。下面是我的代码

public VideoLibraryPage()
{
    InitializeComponent();
    VideoItems = new ObservableCollection<VideoItem>();
}
public ObservableCollection<VideoItem> VideoItems { get; set; }
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
    var files = await KnownFolders.VideosLibrary.GetFilesAsync();
    foreach (var file in files)
    {
        var bit = new BitmapImage();
        bit.SetSource( await file.GetThumbnailAsync(ThumbnailMode.VideosView));
        //breakpoint on below line never gets hit, so not even a single item is added to VideItems collection.         
        VideoItems.Add(new VideoItem
        {
            Title = file.DisplayName,
            Display = bit
        });
    }
    VideosLibraryGridView.ItemsSource = VideoItems;
}

public class VideoItem
{
    public string Title { get; set; }
    public string Views { get; set; }
    public string Duration { get; set; }
    public ImageSource Display { get; set; }
    public StorageFile MyVideoFile { get; set; }
}
公共视频图书馆页面()
{
初始化组件();
VideoItems=新的ObservableCollection();
}
公共可观测集合VideoItems{get;set;}
受保护的异步重写无效OnNavigatedTo(NavigationEventArgs e)
{
var files=await KnownFolders.VideosLibrary.getfileasync();
foreach(文件中的var文件)
{
var bit=新的BitmapImage();
SetSource(wait file.GetThumbnailAsync(ThumbnailMode.VideosView));
//下一行的断点永远不会被命中,所以甚至没有一个项目被添加到VideItems集合中。
VideoItems.添加(新的VideoItem)
{
Title=file.DisplayName,
显示=位
});
}
VideosLibraryGridView.ItemsSource=VideoItems;
}
公共类视频项目
{
公共字符串标题{get;set;}
公共字符串视图{get;set;}
公共字符串持续时间{get;set;}
公共图像源显示{get;set;}
公共存储文件MyVideoFile{get;set;}
}
XAML

<controls:AdaptiveGridView Name="VideosLibraryGridView" Grid.Row="1"
                           Header="Videos"
                           Style="{StaticResource MainGridView}"
                           ItemClick="VideosLibraryGridView_ItemClicked"
                           >
        <controls:AdaptiveGridView.ItemTemplate>
            <DataTemplate  x:DataType="data:VideoItem">
                <StackPanel Margin="4" >
                    <Grid>
                        <Image  Source="{x:Bind Display, Mode=OneWay}" Style="{StaticResource GridViewImage}"/>
                        <Border Style="{StaticResource TimeBorder}">
                            <TextBlock Text="{x:Bind Duration, Mode=OneWay}" Foreground="White"/>
                        </Border>
                    </Grid>
                    <TextBlock Text="{x:Bind Title ,Mode=OneWay}"  Style="{StaticResource GridViewVideoName}"/>
                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
                        <TextBlock Text="{x:Bind Views, Mode=OneWay}" Style="{StaticResource GridViewViews}"/>
                        <TextBlock Text="Views" HorizontalAlignment="Right"/>
                    </StackPanel>
                </StackPanel>
            </DataTemplate>
        </controls:AdaptiveGridView.ItemTemplate>
    </controls:AdaptiveGridView>


问题只出在我的RAM上,最新的insiders SDK使用了更多的RAM,我不得不重新启动我的机器以清除RAM,然后它工作正常

它在其他SDK中工作吗?例如,sdk 15063。@JaydenGu MSFT请查看我刚刚发布的关于这个问题的答案。我想这就是问题所在,现在已经解决了。