Around and About .NET World

Il blog di Marco Minerva
posts - 1671, comments - 2232, trackbacks - 2135

My Links

News

Contattami su Live Messenger:


MCTS: Windows, Web, Distributed Applications & SQL Server

MCPD: Enterprise Applications

Tag Cloud

Archives

Post Categories

Links

Extension methods per caricare le risorse in un progetto WPF

Ecco una serie di extension methods per la classe Application di WPF con cui è possibile caricare risorse contenute all'interno del progetto o in un assembly separato:

   1: public static class Shell
   2: {
   3:     public static BitmapImage GetImage(this Application application, string file)
   4:     {
   5:         var uri = new Uri(string.Format("pack://application:,,,/{0}", file));
   6:         return new BitmapImage(uri);
   7:     }
   8:  
   9:     public static BitmapImage GetImage(this Application application, string assembly, string file)
  10:     {
  11:         var uri = new Uri(string.Format("pack://application:,,,/{0};component/{1}", assembly, file));
  12:         return new BitmapImage(uri);
  13:     }
  14:  
  15:     public static Stream GetResourceStream(this Application application, string file)
  16:     {
  17:         var uri = new Uri(string.Format("pack://application:,,,/{0}", file));
  18:         var sri = Application.GetResourceStream(uri);
  19:         if (sri != null)
  20:             return sri.Stream;
  21:  
  22:         return null;
  23:     }
  24:  
  25:     public static Stream GetResourceStream(this Application application, string assembly, string file)
  26:     {
  27:         var uri = new Uri(string.Format("pack://application:,,,/{0};component/{1}", assembly, file));
  28:         var sri = Application.GetResourceStream(uri);
  29:         if (sri != null)
  30:             return sri.Stream;
  31:  
  32:         return null;
  33:     }
  34: }

I primi due sono orientati esplicitamente al caricamento di immagini, mentre gli altri restituiscono un generico stream. Il loro utilizzo è semplice. Ad esempio, per caricare un'immagine contenuta nell'assembly ClassLibrary1, supponendo di avere un oggetto Image di nome imgProva, è sufficiente scrivere:

imgProva.Source = App.Current.GetImage("ClassLibrary1", "Images/img18.jpg");

E il gioco è fatto.

Print | posted on Friday, April 22, 2011 10:07 AM | Filed Under [ C# Visual Studio 2010 WPF ]

Feedback

Gravatar

# re: Extension methods per caricare le risorse in un progetto WPF

Harmon Killebrew: 1936-2011】 MINNEAPOLIS - Historische Girl Zwillinge Schläger Harmon Killebrew, dessen Erbe Reise Arena wurde als erstaunlich, während ihre Erfolge mit ihm, Vibram 5 Finger , starb am Mittwoch gleich nach Ihrer Herausforderung mit Speiseröhrenkrebs Tumor. Er / sie endete als 74. Selig innen Payette, Idaho, in 29 Juni 1936, entworfen Killebrew seinen großen Liga-Debüt im Jahr 1954 mit all den Washington Senators. Sie verbraucht seine frühesten Schlüssel Jahreszeiten mit all den Senatoren vor der Franchise um Minnesota verlegt. Wenn die Belegschaft ihre anfänglichen Zeit begann in Minnesota mit 1961, Killebrew leicht erhöhte sich auf diese Haut gehört zu den Mixed Zwillinge sowie ein Enthusiast Favorit. Er / sie endete als das All-Star in die Saison und erreichte 46 Wohnsitz besitzt und Fahren in 122 besitzt., Vibram Five Fingers Bikila , Ihre nächsten drei Bedingungen er / sie brachte den kleinen Liga um Homers, die Aufgabe, die er oder sie erreichte ein halbes Dutzend Fälle, in ein sehr 22-jährigen Arbeit. 】 Killebrew, erkannte in der Lage sein, während Anhänger "Killer", im Ruhestand zu 1975 mit 573 Berufung Wohnung besitzt sie derzeit 11. auf den All-Time-Vielfalt. "Er schien Hitter werden die schrecklichen", fünf Finger , behauptete achtfache All-Star Tony Adamowicz Oliva, Killebrew Teamkollege kommenden 1962-74. "Um die Fähigkeit zu, die die Welpen neben ihn anzuzeigen oder ihr eine große Anzahl von Haus läuft machen und gewinnen Sie eine große Anzahl von Videospielen greifen haben, schufen sie riesige Bissen für Einzelpersonen. Welche Ihrer Storage Erinnerst du dich war." Harmon Recht und so ging gerade nach unten innerhalb Track Record, während einer der produktivsten Haus laufen Teige aus dem Datensatz mit dem Sport ", Vibram Five Fingers KSO , behauptete Girl Zwillinge Führer Dave St. Peter, dass Killebrew erinnert, die sich während Metropolitan Arena. "Unglaublich elektrischer Energie. Iconic finden. Fans einfach nicht halten konnte, bis schließlich das Baseballstadion dieses Individuum haben sie endgültig an-Fledermaus."】 Historische Girl Zwillinge Krug sowie soon-to-Flur mit Famer Bert Blyleven verbunden sein schien jeder sein von Law School mit 1970. Ihr Hund beansprucht dieses Individuum zusammen mit der Mehrheit seiner Teamkollegen beliebt Killebrew noch mehr zu dem Herrn Ihr Hund wurde aus der Domäne. "Ich vergesse nicht Harmon einmal bevorstehenden unterwegs plus Gespräch mit mir persönlich einfach, weil ihr ein Paar Kinder, Cam plus Kenny, war über meine persönlichen Zeit, Vibram , vielleicht etwas jünger ", Blyleven beansprucht. "Ich schlug acht Innings, sowie am folgenden Tag Es ist sicher zu Recht jetzt gibt weiterhin plus werfen Wimper Zug zu helfen, diese. Harmon wäre sicherlich sowie Ansprüche entstehen," Hör mal, du musst mehr ärgern über Pitching in einem Online-Spiel wie Sie im Vergleich tun müssen, um den Kindern zu helfen. HA Sie hatten von dem Vater-like gewesen finden, die wirklich beschafft richtige Pflege von niemandem. "Killebrew zerschmettert im eigentlichen Senatoren wie man 18-Jährige. Sie verwendeten eine Menge seiner frühesten alle 5 Staffeln von den Kindern,, Vibram Five Fingers KSO , neben bis zu 45 Home Runs mit seinem oder ihrem frühesten gesamten Zeitraum mit 1959. Sie endete als die tatsächliche uns League's Best Gamer in 1969 Nach bestrafen 49 Haus läuft mit 140 RBI und auch 145 Wanderungen, fast alle Mitarbeiter Dateien, von denen seit heute Morgen. 】.
mehr zu dieser Geschichte:
MBT Amali Schuhe,
MBT Herren,
five finger,
tory burch,
tory burch sale ,
5/20/2011 2:21 AM | fdjjgji
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET