/// <summary> /// Helper that produces the contents corresponding to a Uri. /// Uses the C# await pattern to coordinate async operations. /// </summary> /// <param name="uri"></param> /// <returns></returns> private async Task <IInputStream> GetContentAsync(Uri uri) { string path = uri.AbsolutePath; string contents; switch (path) { case "/default.html": contents = await MainPage.LoadStringFromPackageFileAsync("stream_example.html"); contents = contents.Replace("%", Windows.ApplicationModel.Package.Current.Id.Name); break; case "/stream.css": contents = "p { color: blue; }"; break; default: throw new Exception($"Could not resolve URI \"{uri}\""); } // Convert the string to a stream. IBuffer buffer = CryptographicBuffer.ConvertStringToBinary(contents, BinaryStringEncoding.Utf8); var stream = new InMemoryRandomAccessStream(); await stream.WriteAsync(buffer); return(stream.GetInputStreamAt(0)); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { HtmlBox.Text = await MainPage.LoadStringFromPackageFileAsync("script_example.html"); }