目前我在不同页面上的几个Gridview包含他们所有工作的图像,除了性能很糟糕的事实,有时它也会导致应用程序灰屏。有谁知道在gridview中显示图像的更有效方法?
这是C#上的绑定
private void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
PhotoCollection PassedCollection = (PhotoCollection)e.NavigationParameter;
pCollection = PassedCollection;
pageTitle.Text = pCollection.name;
itemGridView.ItemsSource = pCollection.photos;
}
这是XAML:
</Grid>
<GridView
x:Name="itemGridView"
Margin="10"
ItemsSource="{Binding}"
SelectionMode="None" IsItemClickEnabled="True" Grid.Row="1" Grid.RowSpan="3">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid MaximumRowsOrColumns="5"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Left" Width="200" Height="100" Margin="5,5,5,5">
<Border Background="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}">
<Image Stretch="UniformToFill" Source="{Binding Image}">
</Image>
</Border>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</Grid>
答案 0 :(得分:0)
不要将复杂类型作为导航参数传递。这是一个常见问题,而会导致您的应用因暂停而恢复时崩溃。将您的photocollection存储在静态类或其他内容中,如果需要,可以在导航参数中传递一个键。