Embed-Symbol in WPF-Anwendung
-
13-09-2019 - |
Frage
Ich bin mit einem Symbol in meiner Anwendung in zwei Situationen.
- In XAML als Bild für das Button mit Dynamic.
-
In C # als NotifyIcon
this.notifyIcon.Icon = new SystemDrawing.Icon ( "..//..// Shutdown.ico");
Mein Problem ist, wenn ich das Bild löschen die Anwendung funktioniert nicht. Wie kann ich das Bild mit der EXE-Datei binden, so dass die Anwendung nur mit der exe-Datei ausführen?
Lösung
Fügen Sie das Symbol, um das Projekt als Ressource (nicht Eingebettete Ressource, gibt es einen Unterschied), greifen sie dann mit
using(Stream stream = Application.GetResourceStream(new Uri("/Shutdown.ico")).Stream)
{
this.notifyIcon.Icon = new SystemDrawing.Icon(stream);
}
Sie sollten auch dann in der Lage sein, es zu in XAML zu verwenden, ich kann einfach nicht mehr, wie noch.
Sehen Sie hier für weitere Informationen: http://msdn.microsoft.com /en-us/library/aa970494.aspx
Hinweis : Ich habe keine Fehler enthalten Überprüfung hier. Sie sollten wahrscheinlich sicherstellen, dass Sie den Strom überprüfen, um zu sehen, ob es vor der Verwendung null ist.
Andere Tipps
Das letzte Mal, dass ich dies tun musste, war das Bild so einfach, dass es am einfachsten war es, eine Strichzeichnung in XAML (ähnlich SVG) einfach zu erstellen, anstatt eine Datei zu verwenden. Ich versuche, einen einfachen Assistenten Vista-Stil zu bauen, ohne dass jemand anderen der Wiederverwendung von Code (um zu sehen, wenn ich kann), und ich auf den Pfeil einer Befehlstaste wollte wie in der UX-Richtlinien auf MSDN.