gpt4 book ai didi

c# - Windows 手机 8 : Web Browser - Splash Screen

转载 作者:太空宇宙 更新时间:2023-11-03 11:03:49 28 4
gpt4 key购买 nike

我正在尝试在 Windows Phone 8 平台上做一些小应用程序。

我正在尝试同时使用网络浏览器和启动画面。

我在应用程序启动前制作了闪屏。但我希望当 Web 浏览器组件完成加载移动网站时启动画面必须消失。

我通过谷歌搜索互联网提出了申请,但它在特定时间使用 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com