Heim >Backend-Entwicklung >C++ >Wie lege ich programmgesteuert eine WPF-Bildquelle aus einer eingebetteten Ressource fest?

Wie lege ich programmgesteuert eine WPF-Bildquelle aus einer eingebetteten Ressource fest?

DDD
DDDOriginal
2025-01-17 06:37:09411Durchsuche

How Do I Programmatically Set a WPF Image Source from an Embedded Resource?

Programmgesteuertes Festlegen von WPF-Bildquellen aus eingebetteten Ressourcen

Diese Anleitung befasst sich mit der häufigen Herausforderung, die Quelle eines WPF-Bildes dynamisch aus einer eingebetteten Ressource im Code Ihrer Anwendung festzulegen. Ein häufiges Problem besteht darin, dass die eingebettete Ressource nicht korrekt angezeigt wird, selbst wenn die Bilddaten vorhanden zu sein scheinen.

Die Lösung: URIs packen

Der Schlüssel zur Lösung dieses Problems liegt in der Verwendung von Pack-URIs. Diese URIs bieten eine standardisierte Möglichkeit, auf Ressourcen zu verweisen, die in den Assemblys Ihrer Anwendung eingebettet sind.

Codebeispiel

Hier ist der Codeausschnitt, um dies zu erreichen:

<code class="language-csharp">BitmapImage logo = new BitmapImage();
logo.BeginInit();
logo.UriSource = new Uri("pack://application:,,,/AssemblyName;component/Resources/logo.png");
logo.EndInit();

image.Source = logo;</code>

Dekonstruktion des Pack-URI

Lassen Sie uns die URI-Komponenten aufschlüsseln:

  • pack://application:,,,: Dies ist die Schema-ID für Pack-URIs. Beachten Sie die drei Kommas nach application: – das ist entscheidend.

  • /AssemblyName;component/Resources/logo.png: Dieser Abschnitt gibt den Ressourcenstandort an.

    • AssemblyName: Ersetzen Sie dies durch den tatsächlichen Namen Ihrer Assembly (ohne die Erweiterung .dll).
    • component: Dieses Schlüsselwort gibt an, dass die Ressource Teil der Hauptassembly ist.
    • /Resources/logo.png: Dies ist der Pfad zu Ihrer Bilddatei im Ressourcenordner Ihres Projekts. Passen Sie es entsprechend an.

Umgang mit Sonderzeichen

Denken Sie daran, alle reservierten Zeichen (wie „%“ und „?“) innerhalb der Pfadkomponente Ihres URI ordnungsgemäß zu maskieren.

Wichtige Projekteinstellung

Stellen Sie sicher, dass die Eigenschaft „Build Action“ der Bilddatei („logo.png“ in diesem Beispiel) in den Eigenschaften Ihres Projekts auf „Resource“ gesetzt ist.

Indem Sie diese Schritte befolgen, können Sie Bilder aus eingebetteten Ressourcen erfolgreich dynamisch in Ihre WPF-Anwendung laden.

Das obige ist der detaillierte Inhalt vonWie lege ich programmgesteuert eine WPF-Bildquelle aus einer eingebetteten Ressource fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn