0
 <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <phone:WebBrowser x:Name="browser" IsScriptEnabled="True" Margin="-12,0,-11,0" />
    </Grid>

我使用此代码初始化了网络浏览器。由于我的 html 内容太大,加载这些 html 文件需要更多时间。在显示 html 文件之前,网络浏览器是白色的。

这让我很恼火。我需要知道我们可以在网络浏览器中有任何加载器图片。所以,在网络浏览器加载 html 文件之前,图片会一直显示???

4

1 回答 1

0

我目前无法验证这一点,但我会采取的方法是通过 Image 或其他方式显示图像,例如 XAML 中的加载消息,并将此替代的初始可见性设置为可见,并将 WebBrowser 设置为崩溃了。

在 WebBrowser 上为 LoadCompleted 事件实现事件处理程序,当它被触发时,交换可见性状态以隐藏进度/等待消息并显示 Web 浏览器。

它看起来大致如下:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <TextBlock Text="Loading... please wait" Visibility="Visibile" x:Name="loadingMessage"/>
    <phone:WebBrowser x:Name="browser" IsScriptEnabled="True" Margin="-12,0,-11,0" LoadCompleted="htmlLoadCompleted" Visibility="Collapsed"/>
</Grid>

// In the code behind - HTML finished loading, swap visibility to show the page
private void htmlLoadCompleted(object sender, NavigationEventArgs e)
{
    loadingMessage.Visibility = Visibility.Collapsed;
    browser.Visibility = Visibility.Visibile;
}

我担心 WebBrowser 何时/如何开始加载,这就是为什么我想提醒我没有配置本地环境来验证此方法是否 100% 有效。您可能需要对此进行一些试验才能使其正常工作,但我希望这有助于您走上正确的道路。

于 2013-07-29T08:01:59.447 回答