Refresh image whenever a new one is chosen?

0

I'm using the following code:

private void foto_Completed(object sender, PhotoResult e)
{
    if (e.TaskResult == TaskResult.OK)
    { // se teve sucesso na escolha de uma imagem da galeria
        BitmapImage imagem = new BitmapImage(); // cria uma imagem
        imagem.SetSource(e.ChosenPhoto); // coloca o caminh da imagem escolhida nesse objeto de imagem
        using (IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication())
        { // cria um gerenciamento de arquivos
            if (iso.FileExists("bloq.jpg"))
                iso.DeleteFile("bloq.jpg"); // se houver arquivo igual ele apaga
            IsolatedStorageFileStream fs = iso.CreateFile("bloq.jpg"); // cria um novo arquivo
            var bmp1 = new WriteableBitmap(imagem); // escreve a imagem escolhida em uma nova umagem editavel

            Extensions.SaveJpeg(bmp1, fs, 480, 800, 0, 90); // salva imagem
            imagem2.UriSource = new Uri(fs.Name, UriKind.RelativeOrAbsolute); // armazena o caminho da imagem salva em outro objeto de imagem
            fs.Close(); // fecha arquivo
        }
        fot.Source = imagem2; // pega o objeto com a  imagem recem salva e atribui a imagem presente na minha tela
        descricao.Text = "Agora pressione Salvar."; // muda um texto na tela
    }
}

The code only works the first time, for example, the user opens the app, goes on the screen and presses to choose an image, then he chooses, then he updates the image on the screen, but if the user tries to choose another image , it even replaces the image in the app's internal storage, but does not update the image on the screen, only when the app is restarted that this is updated.

I want to know if there is an error in logic or code, how do I always update the image on the screen? Regardless of how many times the user swaps the image

    
asked by anonymous 25.08.2015 / 15:41

1 answer

0

Instead of using the path of the Image uses the bitmap you receive to make the image set.

private void foto_Completed(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        { 
            // se teve sucesso na escolha de uma imagem da galeria
            var bmp = new BitmapImage();

            bmp.SetSource(e.ChosenPhoto);

            Img.Source = bmp;
        }
    }
    
23.02.2016 / 13:19