uwp gridview项目源甚至没有执行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uwp gridview项目源甚至没有执行相关的知识,希望对你有一定的参考价值。

我正在使用BUILD 2017中创建的新预览sdk 16190创建者秋季更新。

我在MVVM模式下绑定了一个gridview,但是它没有工作,所以我简化了它以直接代码来了解真正的问题,我甚至使用了一个断点,看起来断点从来没有得到一个线从不执行所以gridview项目源仍为空。

我也试过x:绑定gridview项目源,这也不起作用。这真的令人沮丧,因为它没有任何意义。以下是我的代码

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

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,最新的内部人SDK使用更多的RAM,我不得不重新启动我的机器清除RAM然后它工作正常

以上是关于uwp gridview项目源甚至没有执行的主要内容,如果未能解决你的问题,请参考以下文章

如何在 uwp 应用程序中仅使部分 gridview 项目可点击?

uwp GridView selectedItem 弹出窗口

uwp GridView selectedItem 弹出窗口

uwp 自适应 gridview 渲染第一个元素错误

在 UWP 中动态调整阴影大小

UWP ListView/GridView DragItems 结果导致灾难性失败