Fragment (ancla #) en .NET 4 WebBrowser Control se pierde con Adobe PDF Reader y el archivo: //

Creo un URI con un fragmento (también conocido como ancla #).

UriBuilder ub = new UriBuilder("file://path/doc.pdf");
ub.Fragment = "chapterX";

La url se muestra correctamente en el depurador (ub ->file://path/doc.pdf#chapterX). Pero cuando lo asigno a un control WebBrowser, la parte del fragmento se pierde (la razón del fragmento se ve enPDF Parámetro abierto).

this._myWebBrowser.Url = ub.Uri;
// Alternative this._myWebBrowser.Navigate("file://path/doc.pdf#chapterX");

Cuando verificothis._myWebBrowser.Url muestrafile://path/doc.pdf. this._myWebBrowser.Url.Fragment está vacío: también es de solo lectura y no se puede asignar.

Como C.Haas ha mostrado a continuación, el concepto funciona en general, por algunas razones falla cuando el recurso es un archivo PDF LOCAL (!).

Resumen

Funciona si el protocolo es http Funciona si el recurso es .htm / .html, incluso cuando el protocolo es file: // Funciona si el archivo es .pdf y el protocolo es http (igual que 1.) Falla si se refiere al archivo pdf local, el fragmento se pierde

¿Alguna solución para esto?

Revisiones:

20110219 - Actualización gracias a C.Haas. Como muestra Chris, está bien con ".htm", pero falla con ".pdf" y solo si se refiere a un recurso local. 20110218 - Algunos hallazgos gracias a abatishchev: si usoNavigate tampoco funciona, peroNavigate ofrece proporcionar un nombre de marco. En este caso, aparece un IE externo (porque no hay marco en la página del control) y luego la URL con el fragmento se muestra correctamente. No es lo que quiero, pero me muestra que la URL en sí es correcta y el error parece estar dentro del control.

Respuestas a la pregunta(1)

Su respuesta a la pregunta