/// <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));
            }
Esempio n. 2
0
 protected override async void OnNavigatedTo(NavigationEventArgs e)
 {
     HtmlBox.Text = await MainPage.LoadStringFromPackageFileAsync("script_example.html");
 }