2010-07-01 16 views
6

Sto tentando di ottenere un pulsante per visualizzare un'icona in XAML. Inizialmente volevo incollare un carattere, ma vb Express 2008 non riconosceva che si trattava di un simbolo in quanto non era un carattere normale. Poi ho creato un'icona e ho cercato di impostare la proprietà dell'immagine del pulsante per farvi riferimento, ma questo non esiste, quindi più miseria. Ora ho usato le risorse del progetto per aggiungere il file icona che ha spinto nella directory delle risorse del progetto.Come fare riferimento a un riferimento di file di risorse di icona in XAML

Quello che voglio fare è utilizzare XAML per visualizzare l'icona, in questo tag:

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

ho idealmente voglio avere l'immagine in un file separato e farvi riferimento dal progetto. Sono un po 'confuso dal problema contenuto/risorsa.

ho cercato di accedervi utilizzando:

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

Ho letto alcune cose su l'assemblaggio confezione, che è enorme e confusa. Sicuramente, inserire un'icona nel file delle risorse dovrebbe rendere più facile il riferimento usando/Risorse o simili, invece del percorso file assoluto, altrimenti, qual è il punto?

Sto volendo fare tutto in XAML piuttosto che code-behind perché poi questo lavoro sarebbe stato fatto dal cliente, ma forse non sto cercando di capire quando usare il codice. Con WPF, ci sono pochissime cose scritte su ciò che stai cercando di fare su larga scala e perché vorresti farlo, a parte il costante astenersi dalla MS di quanto sia "cool", il che non è molto utile.

Thanks ..

risposta

8

Il modo più semplice per farlo è:

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

La cosa importante da ricordare è quello di assicurarsi che il file icona viene riconosciuto come una risorsa valida per la vostra applicazione. Con WPF, c'è un altro passo che devi compiere contro il vecchio modo di produrre le vinacce.

In Esplora soluzioni, espandere la cartella "Risorse", quindi fare clic sul file "_25B2_Triangle_black_up_pointing.ico". Quindi premere F4 per le proprietà. Assicurati che la proprietà 'Build Action' sia impostata su 'Resource'.

+0

Grazie mille, funziona perfettamente, a parte un piccolo ritocco richiesto dato che qualche idiota ha deciso di inserire virgole nel nome del file, che vb.net converte in doppio underscore/vice versa. The Build Action era il punto critico! Risposta appena scoperta, poiché la notifica sembra essere stata sospesa .. – user326775

Problemi correlati