Niektóre osoby pytają o zrobienie tego w kodzie i nie uzyskanie odpowiedzi.
Po wielu godzinach poszukiwań znalazłem bardzo prostą metodę, nie znalazłem żadnego przykładu, dlatego dzielę się tutaj moim, który działa z obrazami. (mój był .gif)
Podsumowanie:
Zwraca BitmapFrame, które wydają się lubić „miejsca docelowe” ImageSource.
Posługiwać się:
doGetImageSourceFromResource ("[YourAssemblyNameHere]", "[YourResourceNameHere]");
Metoda:
static internal ImageSource doGetImageSourceFromResource(string psAssemblyName, string psResourceName)
{
Uri oUri = new Uri("pack://application:,,,/" +psAssemblyName +";component/" +psResourceName, UriKind.RelativeOrAbsolute);
return BitmapFrame.Create(oUri);
}
Wnioski:
Z moich doświadczeń wynika, że łańcuch paczki nie jest problemem, sprawdź swoje strumienie, a zwłaszcza jeśli czytając go po raz pierwszy ustawiłeś wskaźnik na końcu pliku i musisz ponownie ustawić go na zero przed ponownym odczytaniem.
Mam nadzieję, że dzięki temu zaoszczędzisz tyle godzin, ile chciałbym, aby ten kawałek miał dla mnie!