Captura de tela da página da Web (com controles do Silverlight) programaticamente

Eu tenho uma página da web que exibe alguns controles de luz prateada. Preciso tirar uma captura de tela desta página da Web programaticamente.

Atualmente, usando o controle System.Windows.Forms.WebBrowser para tirar captura de tela.

Forms.WebBrowser funciona bem quando tiro uma captura de tela para páginas normais. No entanto, para as páginas com controles do Silverlight, ele não funciona.

Meu código para captura de tela é o seguinte: Bitmap bitmap = null; using (WebBrowser webBrowser = novo WebBrowser ()) {webBrowser.ScrollBarsEnabled = false; webBrowser.ScriptErrorsSuppressed = true;

            // Set the size of the WebBrowser control
            webBrowser.Width = width;
            webBrowser.Height = height;

            // Load the webpage into a WebBrowser control
            webBrowser.Navigate(url);
            while (webBrowser.ReadyState != WebBrowserReadyState.Complete)
            {
                Application.DoEvents();
            }

            if (width == -1)
            {
                // Take Screenshot of the web pages full width
                webBrowser.Width = webBrowser.Document.Body.ScrollRectangle.Width;
            }

            if (height == -1)
            {
                // Take Screenshot of the web pages full height
                webBrowser.Height = webBrowser.Document.Body.ScrollRectangle.Height;

            }

            // Get a Bitmap representation of the webpage as it's rendered in the WebBrowser control
            bitmap = new Bitmap(webBrowser.Width, webBrowser.Height);
            webBrowser.DrawToBitmap(bitmap, new Rectangle(0, 0, webBrowser.Width, webBrowser.Height));

}