Para dar las gracias debes entrar o registrarte en el foro
Hola de nuevo.
Estoy presentando contenido local html desde un control webbrowser, el contenido se muestra correctamente , lo que no muestra es la imagen que tiene esa pagina html , el codigo que uso es :
StreamReader reader = new StreamReader(TitleContainer.OpenStream("html/a106.html"));
WebBarti.NavigateToString("
Ya lo he solucionado tambien, gracias de todos modos , si a alguien le interesa pues lo posteo
Un Saludo.
Buenos dias,
seria interesante que postearas como lo resolvistes porque tengo el mismo problema. He puesto las imagenes como "content" como "recurso" pero sigue sin mostrarlas. Es un html que se ve en cualquier navegador.
Gracias
logik0 escribió:Buenos dias,
seria interesante que postearas como lo resolvistes porque tengo el mismo problema. He puesto las imagenes como "content" como "recurso" pero sigue sin mostrarlas. Es un html que se ve en cualquier navegador.
Gracias
logik0 escribió:Buenos dias,
seria interesante que postearas como lo resolvistes porque tengo el mismo problema. He puesto las imagenes como "content" como "recurso" pero sigue sin mostrarlas. Es un html que se ve en cualquier navegador.
Gracias
Pero eso significa que si tienes 1000 imagenes, tienes que pasarlas todas al storage para que funcione?
saludos y gracias a los dos por contestar.
davdi escribió:logik0 escribió:Buenos dias,
seria interesante que postearas como lo resolvistes porque tengo el mismo problema. He puesto las imagenes como "content" como "recurso" pero sigue sin mostrarlas. Es un html que se ve en cualquier navegador.
Gracias
Las imágenes tienen que estar en el IsolatedStorage de la aplicación, no en el proyecto. Desde HTML no se puede cargar una imagen de un assembly.
Exacto tienes que grabar a IsolatedStorage, tanto la pagina html, como las imagenes que estan en ella. Atraves de un ejemplo que vi por un foro adapte una funcion que se llama private void SaveFilesToIsoStore(string[] files) y que enviandole un array con los nombres de la pagina html y con el de las imagenes que lleva , las graba en IsolatedStorage.
Luego ya puedes cargar la pagina html con Navigate
Aqui te muestro el codigo
private void SaveFilesToIsoStore(string[] files)
{
IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication();
if (false == isoStore.FileExists(files[0]))
{
foreach (string f in files)
{
StreamResourceInfo sr = Application.GetResourceStream(new Uri(f, UriKind.Relative));
using (BinaryReader br = new BinaryReader(sr.Stream))
{
byte[] data = br.ReadBytes((int)sr.Stream.Length);
SaveToIsoStore(f, data);
}
}
}
}
private void SaveToIsoStore(string fileName, byte[] data)
{
string strBaseDir = string.Empty;
string delimStr = "/";
char[] delimiter = delimStr.ToCharArray();
string[] dirsPath = fileName.Split(delimiter);
//Get the IsoStore.
IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication();
//Re-create the directory structure.
for (int i = 0; i < dirsPath.Length - 1; i++)
{
strBaseDir = System.IO.Path.Combine(strBaseDir, dirsPath[i]);
isoStore.CreateDirectory(strBaseDir);
}
//Remove the existing file.
if (isoStore.FileExists(fileName))
{
isoStore.DeleteFile(fileName);
}
//Write the file.
using (BinaryWriter bw = new BinaryWriter(isoStore.CreateFile(fileName)))
{
bw.Write(data);
bw.Close();
}
}