Algumas pessoas estão perguntando sobre fazer isso no código e não obtendo uma resposta.
Depois de passar muitas horas pesquisando, encontrei um método muito simples, não encontrei exemplo e, portanto, compartilho o meu aqui, que funciona com imagens. (o meu era um .gif)
Resumo:
Ele retorna um BitmapFrame que os "destinos" do ImageSource parecem gostar.
Usar:
doGetImageSourceFromResource ("[YourAssemblyNameHere]", "[YourResourceNameHere]");
Método:
static internal ImageSource doGetImageSourceFromResource(string psAssemblyName, string psResourceName)
{
Uri oUri = new Uri("pack://application:,,,/" +psAssemblyName +";component/" +psResourceName, UriKind.RelativeOrAbsolute);
return BitmapFrame.Create(oUri);
}
Aprendizados:
Pelas minhas experiências, a sequência do pacote não é o problema, verifique seus fluxos e, especialmente, se a leitura pela primeira vez definir o ponteiro para o final do arquivo e você precisar redefinir para zero antes de ler novamente.
Espero que isso poupe as muitas horas que eu gostaria que esta peça tivesse para mim!