Я разрабатываю универсальное приложение Windows, в котором размещается веб-приложение, использующее webview. следующие шаги.Навигация на платформе Universal Windows
- Создание пустого универсального окна приложения. Создание экрана заставки. Установите заставку в качестве начальной страницы. После всей активности, которую я хотел бы , перейдите на главную страницу, на которой есть элемент управления веб-представлением.
- Установка URL-адреса «http: www.google.come» в качестве источника для веб-представления. все, что работает отлично, но главная страница требует времени, где я бы хотел увидеть тот же всплеск, пока он не загрузится.
- Код для навигации Я использую this.Frame.Navigate (typeof (MainPage));
полный исходный код
public sealed partial class ExtentedSpash : Page
{
public ProgressMessage Progress;
public ExtentedSpash()
{
this.InitializeComponent();
Progress = ProgressMessage.GetMessage();
DataContext = Progress;
Window.Current.Activate();
Loaded += Splash_Loaded;
}
private async void Splash_Loaded(object sender, RoutedEventArgs e)
{
await Initialize();
Window.Current.Activate();
await ClearBrowserCache();
Window.Current.Activate();
//Task.WaitAll(TaskList.ToArray());
await StartApplication();
}
public async Task Initialize()
{
Progress.ActionMessage = "Initialize the controls";
await Task.Delay(TimeSpan.FromSeconds(10));
}
public async Task ClearBrowserCache()
{
Progress.ActionMessage = "Clear Browser Cache";
await Task.Delay(TimeSpan.FromSeconds(10));
}
public async Task StartApplication()
{
Progress.ActionMessage = "Loading";
await Task.Delay(TimeSpan.FromSeconds(10));
this.Frame.Navigate(typeof(MainPage));
}
private void btnMain_Click(object sender, RoutedEventArgs e)
{
}
}
public class ProgressMessage : INotifyPropertyChanged
{
private string statusMessage;
public string StatusMessage
{
get { return statusMessage; }
set
{
statusMessage = value;
RaiseProperChanged();
}
}
private string actionMessage;
public string ActionMessage
{
get { return actionMessage; }
set
{
actionMessage = value;
RaiseProperChanged();
}
}
private bool showProgress;
public bool ShowProgress
{
get { return showProgress; }
set { showProgress = value;
RaiseProperChanged();
}
}
public static ProgressMessage GetMessage()
{
var msg = new ProgressMessage()
{
StatusMessage = "Initializing Application",
ActionMessage = "One moment please...",
showProgress = true
};
return msg;
}
public event PropertyChangedEventHandler PropertyChanged;
private void RaiseProperChanged(
[CallerMemberName] string caller = "")
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(caller));
}
}
}
}
Я хочу, чтобы "On Загрузка" сообщение должно показать сезам она полностью загружает приложение.
Это нормально, если вы показываете сообщение после того, как оно перешло в «MainPage», исчезнет, пока источник веб-просмотра не будет полностью загружен? Прежде чем источник «WebView» будет полностью загружен, он покажет пустую область, которую вы хотите покрыть этой областью? –
Спасибо, Грейс, я хочу что-то вроде этого –