我正在尝试在Windows Phone 8平台上做一些小应用程序。
我正在尝试同时使用网络浏览器和启动屏幕。
我在应用程序启动之前制作了闪屏。但我希望当网络浏览器组件完成加载移动网站时,启动屏幕必须消失。
我通过谷歌搜索互联网制作了应用程序,但它在特定时间使用 sleep 。例如; “应用程序启动前等待 10 秒” 这是它的代码;
public partial class MainPage : PhoneApplicationPage
{
private Popup _popup;
private BackgroundWorker _backgroundWorker;
public MainPage()
{
ShowPopup();
InitializeComponent();
Browser.Navigated += new EventHandler<System.Windows.Navigation.NavigationEventArgs>(BrowserNavigated);
Browser.Navigating += new EventHandler<NavigatingEventArgs>(BrowserNavigating);
Browser.ScriptNotify += new EventHandler<NotifyEventArgs>(BrowserScriptNotify);
}
private void ShowPopup()
{
_popup = new Popup();
_popup.Child = new PopupSplash();
_popup.IsOpen = true;
StartLoadingData();
}
private void StartLoadingData()
{
_backgroundWorker = new BackgroundWorker();
_backgroundWorker.DoWork += new DoWorkEventHandler(backgroundWorker_DoWork);
_backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(BackgroundWorkerRunWorkerCompleted);
_backgroundWorker.RunWorkerAsync();
}
void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
//data loading
Thread.Sleep(10000);
}
void BackgroundWorkerRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
this.Dispatcher.BeginInvoke(() =>
{
this._popup.IsOpen = false;
}
);
}
void BrowserScriptNotify(object sender, NotifyEventArgs e)
{
Browser.Navigate(new Uri(e.Value, UriKind.Absolute));
}
void BrowserNavigating(object sender, NavigatingEventArgs e)
{
progressBar1.Visibility = Visibility.Visible;
}
void BrowserNavigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
progressBar1.Visibility = Visibility.Collapsed;
}
}
但我的问题是,我该如何制作“当网络浏览器组件完成加载移动网站并根据该加载使闪屏消失。”
有什么例子吗?
我需要帮助,谢谢。
最佳答案
您可以执行以下操作:
在您的 xaml 中有一个 WebBrowser 控件,其上方有一个图像,并处理“加载完成”事件。
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<phone:WebBrowser LoadCompleted="WebBrowser_OnLoadCompleted">
</phone:WebBrowser>
<Image x:Name="CoverImage" Width="Auto" Height="Auto" Source="Assets\AlignmentGrid.png"></Image>
</Grid>
在后面的代码中将覆盖图像的可见性设置为隐藏。
private void WebBrowser_OnLoadCompleted(object sender, NavigationEventArgs e)
{
this.CoverImage.Visibility = Visibility.Collapsed;
}
关于c# - Windows 手机 8 : Web Browser - Splash Screen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16717080/