2010-07-01 3 views
6

Ich versuche, eine Schaltfläche zum Anzeigen eines Symbols in XAML zu erhalten. Ursprünglich wollte ich stattdessen ein Zeichen einfügen, aber vb Express 2008 würde es nicht als ein Symbol erkennen, da es kein reguläres Zeichen ist. Dann habe ich ein Icon erstellt und versucht, die button image -Eigenschaft so zu setzen, dass sie darauf verweist, aber das existiert nicht, also mehr Elend. Jetzt habe ich die Projektressourcen verwendet, um die Icon-Datei hinzuzufügen, die sie im Projektressourcenverzeichnis abgelegt hat.So verweisen Sie auf eine Symbolressourcenreferenz in XAML

Was ich tun möchte, ist die Verwendung von XAML das Symbol anzuzeigen, in diesem tag:

<Button> 
<Image Source="{StaticResource UpArrow}"/> 
</Button> 

ich in idealer Weise das Bild in einer separaten Datei haben will und es durch das Projekt zu verweisen. Ich bin ein wenig verwirrt wegen des Inhalts/Ressourcenproblems. mit

Ich habe versucht, darauf zuzugreifen:

<UserControl.Resources> 
<BitmapImage x:Key="UpArrow" _ 
    UriSource="Resources/_25B2_Triangle__black__up_pointing.ico" /> 
</UserControl.Resources> 

ich ein paar Sachen über die Pack-Anordnung gelesen haben, die massive und verwirrend ist. Sicherlich sollte das Einfügen eines Symbols in die Ressourcendatei die Verwendung von/Resources oder ähnlichem anstelle des absoluten Dateipfads erleichtern, da sonst der Sinn dahinter liegt.

Ich möchte alles in XAML anstatt Code-Behind tun, denn dann würde diese Arbeit alle vom Client erledigt werden, aber vielleicht bin ich nicht unterlegen, wenn Code hinter zu verwenden. Mit WPF wird sehr wenig darüber geschrieben, was Sie im großen Maßstab zu tun versuchen und warum Sie es tun möchten, abgesehen von MS, der ständig davon Abstand nimmt, wie "cool" es ist - was nicht sehr hilfreich ist.

Dank ..

Antwort

8

Der einfachste Weg, dies zu tun ist:

<Button> 
<Image Source="Resources/_25B2_Triangle__black__up_pointing.ico"/> 
</Button> 

Die wichtige Sache zu erinnern, um sicherzustellen, dass Ihre Symboldatei als eine gültige Ressource von der Anwendung erkannt wird. Mit WPF gibt es einen weiteren Schritt, den Sie gegenüber der alten Winform-Methode machen müssen.

Erweitern Sie im Projektmappen-Explorer den Ordner "Ressourcen" und klicken Sie dann auf die Datei "_25B2_Triangle_black_up_pointing.ico". Drücken Sie dann F4 für Eigenschaften. Stellen Sie sicher, dass die Eigenschaft 'Build Action' auf 'Ressource' gesetzt ist.

+0

Vielen Dank, funktioniert perfekt, abgesehen von ein paar Feinabstimmungen erforderlich wie einige Idiot beschlossen, Kommas in den Dateinamen, die vb.net in doppelte Unterstriche konvertiert/umgekehrt. Die Build Action war das kritische Bit! Nur gerade entdeckten Antwort, als die Benachrichtigung scheint ausgesetzt zu haben .. – user326775