uwp gridview 项目源甚至没有执行
uwp gridview item source not even executing
我正在使用 Creators 秋季更新的新预览版 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; }
}
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 然后它工作正常
我正在使用 Creators 秋季更新的新预览版 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; }
}
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 然后它工作正常