Не уверен, что это поможет, но следующий обходной путь работает для меня, используя SL5 и все браузеры на окнах для моего конкретного случая использования. Мы загружаем страницу хоста из другого приложения, которое передает информацию в строке запроса. Я ранее использовал
foreach (var key in HtmlPage.Document.QueryString.Keys)
чтобы получить ключи и значения строки запроса, а затем обработать соответствующим образом. Так как HtmlPage.Document больше не является кросс-браузерным, я попробовал все альтернативы, но в итоге создал тип .net, который может вызываться Javascript (JS). Когда страница хоста загружается, я использую JS, чтобы извлечь строку запроса и передать ее в тип .net.
Для этого на странице вашего хоста добавьте:
<param name="onLoad" value="plugInLoaded"/>
и немного JS:
<script type="text/javascript">
function plugInLoaded(sender) { // code to set values into your .net type }
</script>
Сложность для меня заключалась в том, что нашей SL-странице необходимо немедленно сделать HTTP-запрос для получения данных после рендеринга основного элемента управления. Мы не используем Сервисы RIA. В большинстве примеров MSDN для передачи данных из JS в .net используется нажатие кнопки. Возникло состояние гонки, при котором код JS устанавливал значение для типа .net после визуализации элементов управления SL. Использование Диспетчера решило эту проблему.
Dispatcher.BeginInvoke(() => { // code to get the value from the .net type }