我目前无法验证这一点,但我会采取的方法是通过 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% 有效。您可能需要对此进行一些试验才能使其正常工作,但我希望这有助于您走上正确的道路。