Wie lade ein Bitmapimage aus einer Datei und zeigt es an mehr als einem Ort an?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie lade ein Bitmapimage aus einer Datei und zeigt es an mehr als einem Ort an?

Post by Anonymous »

Meine WPF -Desktop -App lädt eine Reihe von Bildern zu Beginn des Laufs und zeigt sie drei gleichzeitig an. Wenn jedoch eines der Bilder an mehr als einem Ort angezeigt werden muss, erscheint sie nur an einer Stelle, da es nur ein Bildobjekt gibt.

Code: Select all

public static BitmapImage LoadImage(string filename)
{// source: https://www.ridgesolutions.ie/index.php/2012/02/03/net-wpf-bitmapimage-file-locking
BitmapImage bmpImage = new BitmapImage();
var stream = File.OpenRead(filename);
bmpImage.BeginInit();
bmpImage.CacheOption = BitmapCacheOption.OnLoad;
bmpImage.StreamSource = stream;
bmpImage.EndInit();
stream.Close();
stream.Dispose();
return bmpImage;
}
Diese Bilder werden an visualObject Eigenschaften der Elemente 'ViewModels angehängt und dann mit dieser itemTemplate eines itemsControl verwendet, um einen Canvas als itemsPanel :
Verwenden zu

Code: Select all





Nun, wenn ich jedes Bild als staticResource definiert hätte, könnte ich das Attribut x: Shared = "False" verwenden, damit sie an mehr als einem Ort verwendet werden können, aber wie würde das mit Bildern funktionieren, die in den Speicher geladen wurden? Sollte ich vielleicht Ressourcen basierend auf den Bildern erstellen und ihre gemeinsam genutzten -attribute false ?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post