【问题标题】:uwp gridview item source not even executinguwp gridview 项目源甚至没有执行
【发布时间】:2017-05-19 16:04:23
【问题描述】:

我正在使用 BUILD 2017 中所述的创作者秋季更新的新预览 SDK 16190。

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

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>

【问题讨论】:

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

标签: c# gridview binding uwp-xaml itemsource


【解决方案1】:

问题只是我的 RAM,最新的 Insiders SDK 使用更多 RAM,我必须重新启动机器以清除 RAM,然后它才能正常工作

【讨论】:

    猜你喜欢
    • 2020-11-05
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 2016-09-07
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多