SORU
8 Aralık 2008, PAZARTESİ


Ayarı kod görüntü kaynağı WPF

Kod WPF görüntü kaynağı ayarlamak için çalışıyorum. Görüntü projede bir kaynak olarak gömülü. Örneklere bakarak kod ile aşağıda buldum. Nedense işe yaramıyor. resim görünmüyor.

Hata ayıklama akışı görüntü verileri içeren görebiliyorum. Yanlış olan ne?

Assembly asm = Assembly.GetExecutingAssembly();
Stream iconStream = asm.GetManifestResourceStream("SomeImage.png");
PngBitmapDecoder iconDecoder = new PngBitmapDecoder(iconStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
ImageSource iconSource = iconDecoder.Frames[0];
_icon.Source = iconSource;

Böyle simgedir tanımlanmış bir şeyler: <Image x:Name="_icon" Width="16" Height="16" />

CEVAP
30 EKİM 2009, Cuma


Seninle aynı sorunu yaşıyorum ve bazı okuma yaptıktan sonra, çözüm - Pack URIs keşfettim.

Kodu aşağıdaki gibi yaptım:

Image finalImage = new Image();
finalImage.Width = 80;
...
BitmapImage logo = new BitmapImage();
logo.BeginInit();
logo.UriSource = new Uri("pack://application:,,,/AssemblyName;component/Resources/logo.png");
logo.EndInit();
...
finalImage.Source = logo;

URI parçaya: daha patlak verdi

  • Yetki: application:///
  • Yol: başvuru yapılan bir derleme derlenmiş bir kaynak dosya adı. Aşağıdaki biçime uygun olmalıdır yolu: AssemblyShortName[;Version][;PublicKey];component/Path

    • AssemblyShortName: başvurulan derleme için kısa adı.
    • ;Sürüm [] isteğe bağlı: kaynak dosyayı içeren başvurulan derleme sürümü. Bu kısa aynı ada sahip iki veya daha fazla başvurulan derlemeler yüklü olduğunda kullanılır.
    • ;Açık anahtarlı [] isteğe bağlı: başvurulan derleme imzalamak için kullanılan ortak anahtar. Bu kısa aynı ada sahip iki veya daha fazla başvurulan derlemeler yüklü olduğunda kullanılır.
    • ;bileşen: Kurul başvurulan yerel Meclis bulunulan olduğunu belirtir.
    • /Path: kaynak dosya yolu, başvurulan derlemenin proje klasörü kök de belirtildiği üzere, adı.

application: sonra üç bölü virgül ile değiştirilmelidir:

Not: yetki pack URI bileşeni bir işaret gömülü bir URI. paket ve RFC 2396 uyması gerekir. Ayrıca, " / " karakteri olmalı ile değiştirilmesi "," karakter, ve "%"gibi ayrılmış karakterler ve "?" konulmalıdır. OPC bakın ayrıntılar için.

Ve tabii ki, Resource resminizin üzerine inşa eylemi ayarlamak emin olun.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • grickle

    grickle

    22 AĞUSTOS 2006
  • Matt Davis

    Matt Davis

    4 ŞUBAT 2006
  • pilslajt

    pilslajt

    20 HAZİRAN 2008