Hallo Leute!
Mich plagen derzeit die WPF Resources. Es geht dabei um eine Übersicht von ca. 700 kleinen png's die im Projekt in einem eigenen Ordner liegen. Es ist nun so, dass ich die ganzen Bilder in einem Panel anzeigen lassen möchte, wo schon mal alle Probleme beginnen... Derzeit ist es so, dass ich ein Dictionary generieren habe lassen, dass ich dann anschließend im Konstruktor einlese
List<string> keys = new List<string>();
foreach (ResourceDictionary dict in App.Current.Resources.MergedDictionaries)
{
if (dict.Source.OriginalString.Contains("Fankit"))
{
foreach (string key in dict.Keys)
{
keys.Add(key);
}
}
}
keys.Sort(new Sorter());
foreach (string key in keys)
{
ContextMenu menu = new ContextMenu();
MenuItem item = new MenuItem { Header = "Dieses Icon speichern", Tag = key };
item.Click += new RoutedEventHandler(item_Click);
menu.Items.Add(item);
Image image = new Image { Source = (ImageSource)FindResource(key), ContextMenu = menu, Margin = new Thickness(9) };
panel.Children.Add(image);
}
Das funktioniert schon ziemlich gut 😃
Problem: Ich weiß nicht, wie ich jetzt die Resource auf die Festplatte speichern kann 😦 Ich würde es gerne direkt aus dem Projekt-Ornder kopieren, sprich ich bräuchte die URI der ImageSource (Das Dictionary besteht nur aus ImageSources (<ImageSource x:Key="...">../Images/Fankit/...png</ImageSource>)), nur ich weiß nicht, wie ich das machen soll, und google hilft auch nicht wirklich weiter (ich google jetzt schon 1,5h -.-)
Ich hoffe ihr könnt mir helfen!
Großes Danke im Vorraus,
Mfg Marc
Hallo Levitas,
hier ist ein Thread den du dir ansehen solltest. Er wurde zwar nie beantwortet, aber das was am Ende des Source-Codes steht wird dich auf den richtigen Weg bringen (System.Windows.Media.Imaging.PngBitmapDecoder).
MfG
Tonka
PS: Deine Funktion würde ich übrigends nicht im Konstruktor aufrufen, sondern eher in einer seperaten Funktion!
Ok, danke für den Tipp, ich werde es mal versuchen 😃
Mfg Marc
PS: Das mit dem Konstruktor ist schon ok so... Ich weiß, dass es beim Laden dauert, aber das passt schon so, weil das eine Seite (UserControl) ist, die im Host angezeigt wird (das ganze Programm ist so ungefähr wie eine Homepage, die einzelne Seiten hat)
..., weil das eine Seite (UserControl) ist, die im Host angezeigt wird (das ganze Programm ist so ungefähr wie eine Homepage, die einzelne Seiten hat)
Dazu würde man in WPF aber keine UserControls verwenden, sondern Pages zusammen mit den anderen Navigation Features von WPF.
Baka wa shinanakya naoranai.
Mein XING Profil.
Ich weiß es... Aber da habe ich das noch nicht gewusst... Das war damals mein erstes großes WPF-Projekt - Ich habe es eh "nur" dreimal von neu begonnen, und immer verbessert, verschönert, etc.
Wer will, kann sich's ja mal ansehen: Download
Copyright: Design wurde von www.anno1404-rechner.de nachgemacht. Ich möchte das hier keinesfalls als meine Idee ausgeben! Werte und Berechnung wurden jedenfalls selbst entwickelt und errechnet (Lösungsbuch)
Mfg Marc