Xaml UWP图像未立即显示在页面上

Xaml UWP图像未立即显示在页面上,xaml,win-universal-app,Xaml,Win Universal App,我目前正在学习UWP和Xaml,并注意到这提高了我的兴趣 当我制作一个背景图像为50kb的页面,其中包含一个网格,每个网格包含7个其他图像,每个图像的大小分别为500字节时,页面确实会被加载,但在开始时,图像尚未显示,并且会在几秒钟后显示(如1-1.5秒) 是否可以告诉框架导航或导航等待打开页面,直到所有图像都已加载? 或者您是否需要在启动时以某种方式预加载映像 --更新-- 我希望避免出现进度对话框或类似的情况,因为图像将成为屏幕的重要部分,显示加载也是有点奇怪的用户体验,因为您首先看到白色背

我目前正在学习UWP和Xaml,并注意到这提高了我的兴趣

当我制作一个背景图像为50kb的页面,其中包含一个网格,每个网格包含7个其他图像,每个图像的大小分别为500字节时,页面确实会被加载,但在开始时,图像尚未显示,并且会在几秒钟后显示(如1-1.5秒)

是否可以告诉框架导航或导航等待打开页面,直到所有图像都已加载? 或者您是否需要在启动时以某种方式预加载映像

--更新--

我希望避免出现进度对话框或类似的情况,因为图像将成为屏幕的重要部分,显示加载也是有点奇怪的用户体验,因为您首先看到白色背景,然后突然看到背景与图像一起出现

当我离开网格的7个图像时,背景图像几乎立即显示(在几毫秒内),但包括它们会导致所有图像在加载后显示,留下闪烁效果。 此外,它只发生在第一次加载时,当导航离开页面,然后返回图像时,图像会立即显示出来

例如:


    <Page
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
        <Page.Background>
            <ImageBrush ImageSource="/Assets/Background/Scherm1.jpg"/>
        </Page.Background>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <Image Grid.Column="0" Opacity="0" Source="ms-appx:///Assets/Image1.png"/>
            <Image Grid.Column="1" Opacity="0" Source="ms-appx:///Assets/Image2.png"/>
            <Image Grid.Column="2" Opacity="0" Source="ms-appx:///Assets/Image3.png"/>
            <Image Grid.Column="3" Opacity="0" Source="ms-appx:///Assets/Image4.png"/>
            <Image Grid.Column="4" Opacity="0" Source="ms-appx:///Assets/Image5.png"/>
            <Image Grid.Column="5" Opacity="0" Source="ms-appx:///Assets/Image6.png"/>
            <Image Grid.Column="6" Opacity="0" Source="ms-appx:///Assets/Image7.png"/>
        </Grid>
    </Page>


您可以设置一个不确定的进度条来加载图像。大概是这样的:

<BitmapImage ImageOpened="Banner_ImageOpened"/>
<ProgressBar x:Name="BannerProgressBar" IsIndeterminate="True"/>

您可以在加载图像的位置设置不确定的进度条。大概是这样的:

<BitmapImage ImageOpened="Banner_ImageOpened"/>
<ProgressBar x:Name="BannerProgressBar" IsIndeterminate="True"/>

请先显示您的代码,让导航等待所有图像加载将导致非常糟糕的用户体验。不要这样做。但是显示背景图像和一些小图像的加载进度对于用户体验来说也有点过头了,特别是因为我想让图像成为屏幕的基本元素。请先显示代码好吗?让导航等待所有图像加载将导致非常糟糕的用户体验。不要这样做。但是显示一个加载进程来显示背景图像和一些小图像对于用户体验来说也有点过头了,尤其是当我想让这些图像成为屏幕上必不可少的部分时。