PremKumar Shanmugam
PremKumar Shanmugam

Reputation: 441

how to convert WebView into IRandomAccessStream in UWP?

What i have Tried is? My Xaml code :

<Grid x:Name="MyGrid">
    <Button x:Name="but" Content="Click" Click="but_Click"></Button>
</Grid>

My C# code:

    private async void but_Click(object sender, RoutedEventArgs e)
    {
        WebView x = new WebView();
        x.Width = 100; x.Height = 100;
        InMemoryRandomAccessStream ms = new InMemoryRandomAccessStream();
        await x.CapturePreviewToStreamAsync(ms);
    }

when I try to convert Webview to Stream.It throws an error like this. enter image description here

I don't why this was happening .Can Anyone suggest me , How to convert webview to IRandomAccessstream?

Upvotes: 0

Views: 61

Answers (1)

Nico Zhu
Nico Zhu

Reputation: 32785

The problem is the WebView has not rendered into xaml visual tree. we need to insert WebView into Page content before calling CapturePreviewToStreamAsync method.

private WebView x;
public MainPage()
{
    this.InitializeComponent();
    x = new WebView();
    x.Height = 100; x.Width = 100;
    RootGrid.Children.Add(x);
}

private async void bookmarkBtn_Click(object sender, RoutedEventArgs e)
{

    InMemoryRandomAccessStream ms = new InMemoryRandomAccessStream();
    await x.CapturePreviewToStreamAsync(ms);
}

Upvotes: 1

Related Questions