Icona di impostazione per l'applicazione wpf (VS 08)


125

Prima di andare molto oltre, menzionerò che ho provato le soluzioni seguenti:

Come posso impostare l'icona per la mia applicazione in Visual Studio 2008?

Imposta l'icona dell'applicazione dalle risorse in VS 05

Sto cercando di impostare un'icona per la mia applicazione.

AFAIK, ho bisogno potenzialmente di 3 immagini?

  • 1 immagine è l'immagine reale in explorer quando si fa clic su .exe (anteprima per exe)
  • 1 immagine (minuscola) nell'angolo in alto a sinistra (16 x 16? Non del tutto sicuro)
  • 1 immagine nel dock del menu Start, a sinistra dell'app (forse 32x32? Di nuovo non sono sicuro)

Quindi va bene.

Ora ho selezionato un'icona. Come lo uso in una delle situazioni precedenti?

Ho provato ad aggiungerlo nelle risorse, non sembra succedere nulla. A seguito di quella prima soluzione SO,

"Prima vai a Vista risorse (dal menu: Visualizza -> Altra finestra -> Vista risorse). Quindi, in Vista risorse, naviga tra le risorse, se presenti. Se c'è già una risorsa di tipo Icona, aggiunta da Visual Studio, allora aprilo e modificalo. Altrimenti fai clic con il pulsante destro del mouse e seleziona Aggiungi risorsa, quindi aggiungi una nuova icona. "

La vista delle risorse è vuota e non posso fare clic con il tasto destro in questa vista.

Se faccio clic con il pulsante destro del mouse sulla soluzione> proprietà> risorse> posso aggiungere l'immagine dell'icona, ma non viene visualizzata in nessuna delle posizioni sopra elencate. (o ovunque io possa vedere)

1) Come posso impostare l'icona dell'applicazione per un'applicazione WPF?


In realtà questo è Win 7 Talk; XP ne abbiamo solo due, penso? il 16 x 16 e l'anteprima grande per l'ex (dimensioni non sicure)
barone il

Per chiunque sia interessato, ho impostato un'icona, l'immagine era 64 x 64 e tutto il resto (le dimensioni più piccole) sono state fatte automaticamente ridimensionando l'immagine originale che ho fornito.
barone,

Dai un'occhiata a questa domanda su SuperUser superuser.com/questions/142731/… per ottenere facilmente le icone di Windows integrate nella tua app.
Chris Marisic,

Questo è stato utile: rw-designer.com/image-to-icon
Andrew

Risposte:


163

Supponendo di utilizzare VS Express e C #. L'icona è impostata nella pagina delle proprietà del progetto. Per aprirlo, fare clic con il tasto destro sul nome del progetto in Esplora soluzioni. nella pagina che si apre, c'è una scheda Applicazione, in questa scheda è possibile impostare l'icona.


2
Grazie per la tua risposta ... tutto il resto che ho trovato spiega la confusione delle risorse, ma seguendo le tue risorse della soluzione è stato lasciato completamente solo e impostato nella scheda Applicazione. Saluti
barone,

61
Sì. Questo ha funzionato per me. Tuttavia, sembra che quando si esegue l'applicazione dal debugger VS (cioè premendo F5), l'icona 'generica' è ancora mostrata. Tuttavia, l'esecuzione senza il debugger (ovvero ctrl + f5 o dal desktop ecc.) Mostra l'icona personalizzata, come previsto.
Tom,

7
Questo perché, quando il debugger esegue il codice, utilizza la versione vshost.exe della build (per facilitare il debug) che utilizza l'icona dell'applicazione predefinita e NON l'icona impostata nella scheda applicazioni, poiché questa è impostata per yourapplication.exe
VisualBean,

95

La risposta di @ 742 funziona abbastanza bene, ma come indicato nei commenti quando si esegue dal debugger VS l'icona generica è ancora mostrata.

Se vuoi avere la tua icona anche quando premi F5, puoi aggiungere nella finestra principale:

<Window x:Class="myClass"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Icon="./Resources/Icon/myIcon.png">

dove indichi il percorso della tua icona (l'icona può essere *.png,*.ico .)

(Nota che dovrai comunque impostare l'icona dell'applicazione o sarà ancora quella predefinita in Explorer).


8
L'impostazione di entrambi è buona perché sembra necessario che l'icona appaia sia sulla finestra che sul file EXE.
Vimes,

3
Assicurati solo di impostare l'icona su un'azione di compilazione di "Risorsa" come diceva @AdamDylla:
stackoverflow.com/a/39897641/1703887

4

Nota: (sostituisci file.ico con il tuo nome file icona attuale)

  1. Aggiungi l'icona al progetto con l'azione di compilazione di "Risorsa".
  2. Nelle proprietà del progetto, impostare l'icona dell'applicazione su file.ico
  3. Nel set XAML della finestra principale: Icon=".\file.ico"nella finestra

3

Dopo aver ricevuto una XamlParseException con il messaggio: "Fornisci valore su" System.Windows.Baml2006.TypeConverterMarkupExtension " con le soluzioni fornite, impostando l'icona ha funzionato programmaticamente per me. Ecco come l'ho fatto:

  1. Metti l'icona in una cartella < percorso_icona > nella directory del progetto
  2. Mimic il percorso <Cartella icon_path > nella soluzione
  3. Aggiungi un nuovo elemento (la tua icona) nella cartella della soluzione che hai creato
  4. Aggiungi il seguente codice nel codice della finestra di WPF dietro:

Icon = new BitmapImage (new Uri ("< icon_path >", UriKind.Relative));

Vi prego di informarmi in caso di difficoltà nell'implementazione di questa soluzione in modo che io possa aiutare.


La soluzione semplice per questo messaggio di errore è quello di impostare l'icona per un'azione di build di "risorse", come ha detto @AdamDylla: stackoverflow.com/a/39897641/1703887
csrowell

0

Puoi provare anche questo:

private void Page_Loaded_1(object sender, RoutedEventArgs e)
    {
        Uri iconUri = new Uri(@"C:\Apps\R&D\WPFNavigation\WPFNavigation\Images\airport.ico", UriKind.RelativeOrAbsolute);
        (this.Parent as Window).Icon = BitmapFrame.Create(iconUri);
    }
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.