2014-09-07 10 views
12

Nauczam się WinForms niedawno, ale teraz przełączyłem się na bardziej nowoczesny WPF, który jest SOOO o wiele lepszy!WPF - Importuj obraz jako zasób

Jedyne, czego obecnie nie rozumiem, to używanie obrazów. Teraz w WinForms zaimportowałeś go jako zasób i obraz nadal działałby po kompilacji w folderze/bin/Debug.

Nie mogę dowiedzieć się, jak uzyskać to działa w WPF, gdy uruchomię aplikację obraz nie ładuje się, ponieważ obraz jest zapisany w /Projects/AppName/images/, a aplikacja jest skompilowana /Projects/AppName/bin/Debug po uruchomieniu go Tryb debugowania.

Czy po prostu trzeba zrobić kopię folderu Moje obrazy i umieścić go tam, gdzie aplikacja jest kompilowana? Czy istnieje inny sposób. Tu jest mój kod, który wyświetla mój obraz:

<Image Width="300"> 
    <Image.Source> 
     <BitmapImage DecodePixelWidth="300" UriSource="/images/jamsnaps-dark.png" /> 
    </Image.Source> 
</Image> 

Odpowiedz

23
  • Utwórz folder (np images) w Visual Studio Project.
  • Dodaj plik (i) obraz do tego folderu.
  • ustawił jeszcze Build Action do Resource (w oknie Właściwości, patrz drugie zdjęcie w this answer).

następnie napisać UriSource nieruchomość jak już to zrobiłeś:

UriSource="/images/jamsnaps-dark.png" 

To URI jest faktycznie Resource File Pack URI, gdzie prefiks zostanie automatycznie dodany przez WPF.

+0

Dzięki, działa świetnie –

1

dwie opcje:

1) Wyjdź z bin/Debug i do folderu aplikacji przez ../../ a następnie do swojego wizerunku.

<Image> 
     <Image.Source> 
      <BitmapImage UriSource="../../images/jamsnaps-dark.png" /> 
     </Image.Source> 
    </Image> 

2) Kompilacja obrazów jako zawartość z właściwości z menu kontekstowego na pliku obrazu, a następnie, gdy zestawiane będą one umieszczane w był debugowania. nie pamiętam, jeśli trzeba także powiedzieć im, aby skopiować lokalny również właściwości (nie jestem w pobliżu komputera w tej chwili, więc nie mogę sprawdzić.

+0

Wiwaty, działały, ale inne odpowiedzi wyjaśniły nieco lepiej :) –

+0

Zrobił coś innego. który jest również dobry. Chodzi o to, aby wiedzieć, gdzie znajduje się twoje pliki, czy mogą być one przestrzegane jako zasoby/zawartość lub po prostu umieszczone w twoim rozwiązaniu. Nie pamiętam za i przeciw każdej metody .. –